def func_param_with_var_args(name, *args, age):
print("name=",end=""), print(name)
print("args=",end=""), print(args)
print("age=",end=""), print(age)
에러내용:
TypeError: func_param_with_var_args() missing 1 required keyword-only argument: 'age'
- 가변키워드인수가 마지막에 있어야되는데 중간에 있어 에러 발생
def func_param_with_var_args(name, age, *args):
print("name=",end=""), print(name)
print("args=",end=""), print(args)
print("age=",end=""), print(age)
>>> name=정우성
args=('seoul', 20)
age=01012341234
def func_param_with_kwargs(name, age, **kwargs, address=0):
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")
def func_param_with_kwargs(name, age, address=0, **kwargs):
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")
에러내용
SyntaxError: invalid syntax
- 매개변수의 우선순위에 따른 배치 오류
해결
- 우선순위에 맞게 재배치
def mixed_params(name="아이유", *args, age, **kwargs, address):
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")
에러내용
SyntaxError: positional argument follows keyword argument
- 매개변수 우선순위에 따른 배치 오류 및 매개변수와 인자들의 매칭오류
해결
- 우선순위에 맞게 재배치 후 인수 재배치
def mixed_params( age, name="아이유", *args, address, **kwargs):
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", address="seoul", mobile="01012341234" )