🐍 Python Function Parameters
Python Function Parametersについて
default value parameter:パラメータ値を予め指定する
ex.
non-default valueparameter:パラメータ値が指定されていません
ex.
non-default valueパラメータはdefaultパラメータの前に表示する必要があります.
まず、Pythonでdefault valueparameterがnon-deffault valueparameterになるまで、関数は定義されません!
つまり、Pythonは誤った文法として規定されている.
Pythonがこのような定義を許可すると仮定します
もちろんこのように
このように指定されていない場合があるので、Pythonではいっそ止めたようです.
上記の関数を有効にするには、次の手順に従います.
位置引数(位置パラメータ): 引数を順番に関数に入れる
ex.)可変パラメータ(変長パラメータ): ex.)
このようなエラーが発生しました.
年齢因子はどこだ?
なぜこのようなエラーが発生したのか考えてみると、Pythonの立場では、私が因子に渡した値がどこ*argsなのか分からないので、age因子がどこにあるのか分かりません.だから正常に動くために、このように修理します.
可変キーワード引数:key:value形式引数 ex.)関数パラメータ名に**を付けると、dicksherry形式をパラメータに渡すことができ、関数はdictクラスオブジェクトとみなされます.
上記のコードを実行しても関数は宣言されません.
これを見るとPythonではありません!あなたがくれた生命(
では、交換しましょう.可変キーワード買収を最後まで送れば解決! 今度は可変パラメータ可変キーワードのパラメータキーワードのパラメータなどを出したときに位置を確認しましょう
キーワード引数は、位置引数の後でなければなりません.キーワード引数は、可変キーワード引数の前でなければなりません.修復に適用しましょう.
に挑戦しましたが、アドレス因子がどこにあるかのエラーが発生しました.
なぜ目を洗ってもダメなのかずっと考えていましたが、結局addressはパラメータの名前と同じなのでキーワードパラメータには入っていませんでした.
age = 20
name=「IU」->「鄭雨盛」
*args = "01012341234", "male"
address = "seoul"
**kwargs = mobile = "01012341234"
キーワード引数は、位置引数の後に、キーワードは変数引数の前にある必要があります.
可変因数があるときは前か後か分からないので、第1セットで間違えました.
キーワードパラメータをパラメータに渡すと、位置を変えることができると思います.
ドラムを勉強している間は、いつもキーワード引数と可変引数を混同していたので、ずっと勉強していましたが、今回整理し直したときは、知らない部分をもっと知りました.
👏 default value parameter& non-default value parameter
default value parameter:パラメータ値を予め指定する
ex.
def member(member="강슬기")
non-default valueparameter:パラメータ値が指定されていません
ex.
def member(age)
default valueparameterはnon-default valueparameterの前に位置できません!!
def member(member="강슬기",age, group)
return f"{member}의 나이는 {age}입니다."
このように関数を定義するとエラーが発生します.non-default valueパラメータはdefaultパラメータの前に表示する必要があります.
どうしてだめですか。
まず、Pythonでdefault valueparameterがnon-deffault valueparameterになるまで、関数は定義されません!
つまり、Pythonは誤った文法として規定されている.
Pythonがこのような定義を許可すると仮定します
def member(member="강슬기",age, gropup)
return f"{member}의 나이는 {age}입니다."
member(28, "레드벨벳")
これにより,計算機の立場からメンバパラメータが指定されているかどうかの問題点を特定することができない.もちろんこのように
member("강슬기", 28, "redvelvet")
を指定することもできます.このように指定されていない場合があるので、Pythonではいっそ止めたようです.
上記の関数を有効にするには、次の手順に従います.
def member(age, gropup, member="강슬기")
return f"{member}의 나이는 {age}입니다."
member(28, "레드벨벳")
指定したパラメータを持つメンバーを後ろに置くとうまく動作します.🚀 位置パラメータ(position arguments)と可変パラメータ(variablelength arguments)
ex.)
def member(name, age, group)
member("강슬기", 28, "RedVelvet")
def member(*args):
for i in args:
print(i)
member('1','2','3','4')
>>>1
>>>2
>>>3
>>>4
可変パラメータに設定された関数に複数の位置パラメータを追加した場合は、1つのグラフィックオブジェクトとして扱われます.def member(*args):
print(type(args))
>>> <class 'tuple'>
可変パラメータの位置
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)
上記のコードを実行すると、このようなエラーが発生しました.
年齢因子はどこだ?
なぜこのようなエラーが発生したのか考えてみると、Pythonの立場では、私が因子に渡した値がどこ*argsなのか分からないので、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
またはfunc_param_with_var_args("정우성", "01012341234", "seoul", age=20)
20をage因数に指定したキーワードを送ってください.📚 可変キーワードパラメータ(variablelengthキーワードarguments)
def member(**kwargs):
print(type(kwargs))
for i in kwargs.items():
print(i)
member(name='슬기', age=28, group='redvelvet')
>>> <class 'dict'>
>>>('name', '슬기')
>>>('age', 28)
>>>('group', 'redvelvet')
可変キーワード引数の位置
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")
可変キーファクタは、可変ファクタの位置の問題と同様の問題も発生します.上記のコードを実行しても関数は宣言されません.
これを見るとPythonではありません!あなたがくれた生命(
func_param_with_kwargs("정우성", "20", mobile="01012341234", address="seoul")
)からどこがキーワードの生命ですか!だから関数を宣言することはできません.addfess=「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")
位置パラメータとキーワード可変キーワードパラメータ(variablelengthキーワードパラメータ)の位置
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")
これは非常に全体的な苦境であり、これまで学んだことを総合してみましょう.キーワード引数は、位置引数の後でなければなりません.キーワード引数は、可変キーワード引数の前でなければなりません.修復に適用しましょう.
1トン
def mixed_params(age, address, name="아이유", *args, **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")
自信を持ってなぜ目を洗ってもダメなのかずっと考えていましたが、結局addressはパラメータの名前と同じなのでキーワードパラメータには入っていませんでした.
2トン
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")
片付けたら.age = 20
name=「IU」->「鄭雨盛」
*args = "01012341234", "male"
address = "seoul"
**kwargs = mobile = "01012341234"
キーワード引数は、位置引数の後に、キーワードは変数引数の前にある必要があります.
可変因数があるときは前か後か分からないので、第1セットで間違えました.
キーワードパラメータをパラメータに渡すと、位置を変えることができると思います.
ポスト
Reference
この問題について(🐍 Python Function Parameters), 我々は、より多くの情報をここで見つけました https://velog.io/@sdk1926/파이썬-Function-Parametersテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol