Python. パラメータ


ParametersParameters매개변수で、Python言語では種類が多く、順番に使わないとエラーになる可能性があります.
パラメータの順序は次のとおりです.
1.位置パラメータex)name、age等
2.可変パラメータex)*arg
3.デフォルトパラメータex)name="洪吉童"
4.キーワードパラメータex)it s me(age=20,address="ソウル")
5.可変キーワードパラメータex)**kwargs
1)関数を定義する場合、なぜdefault valueparameterをnon-deffault valueparameterの前に定義できないのですか?
def friend(name, age):
	print(f"name: {name}, age: {age}")
friend("mina", 27)
def friend(name, age):
	print(f"name: {name}, age: {age}")
friend(27,name = "mina")
順序が違うので、エラーが発生しました.
デフォルトでは、デフォルトパラメータは通常のパラメータの後に表示されます.
2)位置パラメータ(位置パラメータ)と可変長パラメータ(変数長パラメータ)の位置を参考資料で調べ、何が起こったのか、エラーを修正し、正常に出力する!
-수정 전-
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)

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)

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

name=정우성
args=('seoul', 20)
age=01012341234
パラメータ順序の誤りにより,age*argsの順序が変更され,誤りが解消された.
3)可変キーワード引数(variablelength keywordarguments)の位置を参考資料で調べ、どのようなエラーが発生したか、エラーを修正し、正常に出力するかを決定します.
-수정 전-
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")

SyntaxError: invalid syntax
-수정 후-
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")

name=정우성
age=20
kwargs={'mobile': '01012341234'}
address=seoul
**kewordsの可変キーワードの買収は最後の順序で行われる.
4)位置パラメータとキーワード可変キーワードパラメータ(variablelength keywordarguments)の位置を参考資料で調べ、何が起こったのか、エラーを修正し、正常に出力する!
-수정 전-
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: invalid syntax
-수정 후-
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" ,mobile="01012341234", address="seoul")

name=정우성
args=('01012341234', 'male')
age=20
kwargs={'mobile': '01012341234'}
address=seoul
addressはキーワードパラメータであるため、変数パラメータ*argsの後の順序は**kewordsである.
よく見ないと見逃すかもしれないので、覚えて考えることが大切な部分だと思います.