位置パラメータ、可変パラメータ、キーワードパラメータ
def func_param_with_var_args(name, *args, age):
print("name=",end=""), print(name)
print("args=",end=""), print(args)
print("age=",end=""), print(age)
func_param_with_var_args("정우성", "01012341234", "seoul", 20)
コード定義は次のとおりです.エラーが発生し、age値がキーワード引数であるため、エラーが発生します.ソース:https://getkt.com/blog/python-keyword-only-arguments/
上の写真で買い付け順を確認してみます.
可変パラメータ*argsを基準に、前は位置パラメータ、後はキーワードパラメータです.
この内容から見ると.
def func_param_with_var_args(name, *args, age):
#위치인수 키워드인수
nameは位置パラメータ、ageはキーワードパラメータなのでエラーです.変更された関数にエラーがない場合
func_param_with_var_args("정우성", "01012341234", "seoul", age = 20)
def func_param_with_var_args(name, age, *args):
print("name=",end=""), print(name)
print("args=",end=""), print(args)
print("age=",end=""), print(age)
func_param_with_var_args("정우성", 20, "01012341234", "seoul")
これで修正すればいいです.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")
他のエラーが発生したコードがあります.無効な構文構文エラーです.上記の写真を参考にすると、*kwargsの買収は最後の位置にある必要があります.
def func_param_with_kwargs(name, age, address=0, **kwargs):
写真のように*kwargsを最後にしておけば、正常に出力できます.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")
無効な構文エラーコードがあります.**kwargsの位置は最後です.def mixed_params(name="아이유", *args, age, address, **kwargs):
age値がないことを示すエラーが発生しました.def mixed_params(name="아이유", *args, age, address, **kwargs):
mixed_params(20, "정우성", "01012341234", "male" ,mobile="01012341234", address="seoul")
上のコードにはname=20、args(鄭雨盛、01012341234、男性)address=seoul、kwargs(mobile:010123412344)が含まれていますが、キーワード値ageには値がありません.そのため、
mixed_params( "정우성", "01012341234", "male" , age = 20, mobile="01012341234", address="seoul")
元々20の因子を位置因子にした後、age=20に変更すると間違いなく出力されます.Reference
この問題について(位置パラメータ、可変パラメータ、キーワードパラメータ), 我々は、より多くの情報をここで見つけました https://velog.io/@cj4207/위치-인수-가변-인수-키워드-인수テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol