[TIL]Python関数(parameters、default value、arguments)
1.デフォルト(position arguments)
def func(a, b, c):
print(a, b, c)
func(1, 2, 3)
関数には伝達値がある場合もあれば、伝達値がない場合もあります.転送値がある場合は、関数を実行するときは、関数パラメータと同じパラメータを追加する必要があります.
順番に聞いて!
2.デフォルト2(キーワードarguments)
def func(a, b, c):
print(a, b, c)
x = func(a=1, b=2, c=3)
y = func(c=4, a=1, b=3)
順序にかかわらず、名前を指定して値を割り当てることができます.このように組み合わせると、位置に関係なく、希望の値に達することができます!
3.1号2号海鮮麺
def func(a, b, c):
print(a, b, c)
x = func(1, 2, c=3)
y = func(1, b=2, c=3)
z = func(b=2, c=3, 1)
x、y出力成功しかし、zは文法エラーが発生します.
内容から見ると.
SyntaxError: positional argument follows keyword argument
位置因数はキーワード因数の後だそうです.
伝達値1がaのパラメータなのか、3番目のパラメータcのパラメータなのか分からないからである.
このように混合して使用する場合は,位置因数>キーワード因数の順に使用すべきである.
4. default value
def func(a=1, b=2, c=3):
print(a, b, c)
x = func()
y = func(3,2,1)
z = func(3,2)
宣言関数からパラメータ値を指定する方法があります.関数を呼び出すときに引数の値を入力しますか?
上書きされました.
ここでは、デフォルトパラメータとキーワードパラメータを区別します.
デフォルトのパラメータは、関数を宣言するときに値を指定します.
キーワードパラメータは、関数を呼び出すときに値を指定します.
5. non-default, default value
パラメータのデフォルト値(一番上の1番)をnon-defaultパラメータと呼びます.
def func(a, b=2, c=3):
print(a, b, c)
y = func(3,2,1)
z = func(3,2)
これはエラーを引き起こすことはありません.def func(a=1, b=2, c):
print(a, b, c)
y = func(3,2,1)
z = func(3,2)
次の構文エラーが発生しました.SyntaxError: non-default argument follows default argument
一緒に使えば
non-defult引数、デフォルト引数の順序として定義する必要があります.
デフォルト以外の値は必須ですが、デフォルト値は必須ではありません.
密接な関係にあるので、違約金をあげてもいいし、あげなくてもいいですが、違約金を払わなければなりません.
この角度から例を挙げると、関数を定義するときにまずポーリング値が指定されます.
次に、関数呼び出しで引数を指定します.
最初に与えられたパラメータがデフォルト値を上書きさせるか、それとも後のデフォルト値を上書きさせるか分かりません.
ソース:https://getkt.com/blog/python-keyword-only-arguments/
質問です。
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, 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")
質問です。
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")
Reference
この問題について([TIL]Python関数(parameters、default value、arguments)), 我々は、より多くの情報をここで見つけました https://velog.io/@sayxyoung/python-syntax-func-argumentsテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol