Function Parameters

isy·2022년 3월 31일
0

TIL

목록 보기
4/7

1)

def func_param_with_var_args(name, *args, age):  #1
    print("name=",end=""), print(name) 
    print("args=",end=""), print(args)
    print("age=",end=""), print(age)

func_param_with_var_args("정우성", "01012341234", "seoul", 20)  #2

코드 해석
#1
fun_param_with_var_args 함수에는 기본 인수 값이 없는 name, args, age 라는 3개의 파라미터가 있다. (위 코드 파라미터에 '*arg'라고 적은 이유는 함수에 전달될 인수의 개수를 알 수 없기 때문이고 여기에 값을 넣으면 튜플 형태가 된다!)

#2
파라미터 name은 '정우성' 이라는 값이, 파라미터 age는 20이라는 값이, 파라미터 args는 나머지 인수 값들을 얻고 튜플형식인 ('01012341234', 'seoul') 형식의 값이 출력된다.


2)

def func_param_with_kwargs(name, age, **kwargs, address=0): #1
    print("name=",end=""), print(name)
    print("age=",end=""), print(age)
    print("kwargs=",end=""), print(kwargs)
    print("address=",end=""), print(address)

func_param_with_kwargs("정우성", "20", mobile="01012341234", address="seoul") #2

코드 해석
#1
func_param_with_kwargs 함수에는 기본 인수 값이 없는 name, age, kwargs 파라미터와 기본 인수 값이 있는 address 파라미터가 있다.(kwargs는 keyword arguments라고 하며 딕셔너리 형태로 값을 저장한다. args와 달리 파라미터 명을 같이 보낼 수 있다!!)
함수의 파라미터에 디폴트 값을 정의해줄 수도 있는데 함수가 호출될 때 디폴트 값이 넘겨지지 않아도 괜찮다! 함수를 호출할 때 파라미터 값을 정의하지 않아도 디폴트 값이 있으면 자동으로 넘겨진다!

#2
파라미터 name은 '정우성'이라는 값이, 파라미터 age는 "20"이라는 값이, 파라미터 kwargs는 {'mobile': '01012341234'} , 파라미터 address는 디폴트 값이 0으로 정의했지만 함수를 호출할 때 "seoul"이라는 값을 호출해 결과 값이 0이 아닌 "seoul"이라는 값을 얻는다.


3)

def mixed_params(age, name="아이유", *args, address=0, **kwargs): #1
    print("name=",end=""), print(name)
    print("args=",end=""), print(args)
    print("age=",end=""), print(age)
    print("kwargs=",end=""), print(kwargs)
    print("address=",end=""), print(address)

mixed_params(20, "정우성", "01012341234", "male" ,mobile="01012341234", address="seoul") #2

코드 해석
#1
mixed_params 함수에는 디폴트 값이 정해진 name, address 파라미터와 디폴트 값이 정해지지않은 나머지 파라미터들이 있다.

#2
파라미터 name은 디폴트 값이 '아이유'였지만 함수 호출 시에 '정우성'이라고 정의하여 출력창에는 '정우성'이라는 값을 얻는다.
파라미터 args는 튜플형식인 ('01012341234', 'male') 이라는 값을 얻는다.
파라미터 age는 20라는 값을 얻는다.
피라미터 kwargs는 {'mobile': '01012341234'} 라는 값을 얻는다.
파라미터 address는 디폴트 값이 0이었지만 함수 호출 시 'seoul'로 정의하여 출력창에는 'seoul'이라는 값을 얻는다.

0개의 댓글