[Python] Function Parameters
22735 ワード
🍔 default valueパラメータとnon-default valueパラメータの位置
default valueparameterは常にnon-default valueparameterの後にある必要があります.
!!
def func(non-default, default)
変更前-エラーdef love_you(my_name="아이유", your_name, his_name):
print(f"{my_name} loves {your_name} and {his_name}")
love_you("정우성", "이정재")
3つのパラメータがある場合に2つのパラメータを入力すると、前から、my name=「鄭雨盛」、your name=「李政宰」の順に指定します.
最後のパラメータhis nameに指定されたパラメータは存在しません.
このような状況を防止するために、default valueparameterは常にnon-defaultの後に並んでいる.
変更後-通常出力
def love_you(your_name, his_name, my_name="아이유"):
print(f"{my_name} loves {your_name} and {his_name}")
love_you("정우성", "이정재")
# 출력
아이유 loves 정우성 and 이정재
🍕 位置パラメータと可変パラメータの位置
変数引数は常に位置引数の後にする必要があります.
(可変パラメータの後ろの位置パラメータは意味を失います.)
変更前-エラー
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)
変更後-通常出力def func_param_with_var_args(name, age, *args):
print("name=",end=""), print(name)
print("age=",end=""), print(age)
print("args=",end=""), print(args)
func_param_with_var_args("정우성", 20, "01012341234", "seoul")
#출력
name=정우성
age=20
args=('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")
変更後-通常出力def func_param_with_kwargs(name, age, address=0, **kwargs):
print("name=",end=""), print(name)
print("age=",end=""), print(age)
print("address=",end=""), print(address)
print("kwargs=",end=""), print(kwargs)
func_param_with_kwargs("정우성", "20", address="seoul", mobile="01012341234")
# 출력
name=정우성
age=20
address=seoul
kwargs={'mobile': '01012341234}'
🌭 Combination
買収ポジションの整理
位置パラメータ>可変パラメータ(*arg)>キーワードパラメータ>可変キーワードパラメータ(**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")
# 위치인수와 키워드인수에 모두 'address'가 입력되었음
変更後-通常出力def mixed_params(age, address, name="아이유", *args, **kwargs):
print("name=",end=""), print(name)
print("age=",end=""), print(age)
print("args=",end=""), print(args)
print("address=",end=""), print(address)
print("kwargs=",end=""), print(kwargs)
mixed_params(20, "seoul", "정우성", "01012341234", "male" ,mobile="01012341234")
# 키워드인수 'address=seoul'를 제거하고 위치인수의 value로 'seoul' 입력
# 출력
name=정우성
age=20
args=('01012341234', 'male')
address=seoul
kwargs={'mobile': '01012341234}'
Reference
この問題について([Python] Function Parameters), 我々は、より多くの情報をここで見つけました https://velog.io/@jungminnn/Python-Function-Parametersテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol