1.パラメータの定義
1、 定義されている関数パラメーターはどこにありますか
pythonで関数を定義する場合、関数名の後の括弧を使用してパラメーターを定義します。複数のパラメーターがある場合、パラメーターはコンマで直接区切られます。
場合:
# 関数のパラメーターを使用して、任意の2つの数値を加算できる関数を定義します
def add_num(a,b):
c = a + b
print(c)
2、 パラメータを使用した関数呼び出し:
関数はパラメーターを定義するため、関数を呼び出すときにパラメーターを渡す必要があります
add_num(11,22)
運用結果
33
上記の場合、関数を定義するときに関数名の後に括弧で囲まれたパラメーターは、正式なパラメーターと呼ばれます。
関数を呼び出すとき、渡されたパラメーターは実際のパラメーターと呼ばれ、正式なパラメーターは実際のパラメーターを受け取るために使用されます。
2、パラメータ分類
上記では、正式なパラメータと実際のパラメータについて説明しました。正式なパラメータと実際のパラメータを定義して呼び出す場合、それらはさまざまな形式に従っていくつかのカテゴリに分類できます。
1、 実際のパラメータによる分類
実際のパラメータ:位置パラメータ、キーワードパラメータ
1.1、 位置パラメータ(名前のないパラメータ)
def func(a,b,c):print(a)print(b)print(c)add_num(11,22,33)
# 運用結果
112233
上記の場合、関数の3つの正式なパラメーターは、位置によって渡される実際のパラメーターを受け取ることです。この形式の受け渡しパラメーターを位置パラメーターと呼びます。
1.2、 キーワードパラメータ(名前付きパラメータ)
def func(a,b,c):print(a)print(b)print(c)add_num(11,c=99,b=33)
# 運用結果
113399
関数を呼び出すとき、実際のパラメーターはパラメーター名で指定され、特定の正式なパラメーターに渡されます。この形式のパラメーターの受け渡しでは、これをキーワードパラメーターと呼びます。
注:パラメーターを渡すときは、最初に位置パラメーターを書き込み、次に名前付きパラメーターを書き込みます
2、 正式なパラメータによる分類
正式なパラメータは、必須パラメータ、サイレントパラメータ、可変長パラメータの3つのカテゴリに分類できます。
2.1、 必要なパラメーター:
関数を呼び出すときに渡す必要のあるパラメーター
def add(a,b):
c=a+b
print(c)add(11,22)
上記の関数のaとbは必要なパラメーターであり、関数を呼び出すときに渡す必要があります。そうしないと、エラーが報告されます。
2.2、 デフォルトパラメータ(デフォルトパラメータ):
関数を呼び出すときは、渡すかどうかを指定できます。渡さない場合は、デフォルト値を使用できます。
def func(a,b,c=99):print(a)print(b)print(c)
func(11,22,33)print('-----------')func(55,66)
# 動作結果:
112233---------------556699
上記のケースから、最初に呼び出すときに3つのパラメーターを渡すと、cは渡した値を出力し、2回目は2つのパラメーターのみを渡す、今回はcが出力することがわかります。出てくるのは、定義時に設定したデフォルト値です
注:デフォルト値のパラメーターは、パラメーターリストの最後にある必要があります。
2.3、 可変長パラメーター* argsおよび** kwargs
関数を呼び出すときに0以上を渡すことができます
2.3.1、* args:複数の着信位置パラメーターを受け取り、それらを祖先の形式で保存します
def func(*args): print(args)func(33,44,55,66,77)func(*(33,44,55,66,77))#運用結果(33,44,55,66,77)(33,44,55,66,77)
電話をかけるときに直接渡すことができます:func(33,44,55,66,77)、
最初にリストまたはタプルをアセンブルしてから、* unpacking:func(*(33,44,55,66,77));を渡すこともできます。
2.3.2、**kwargs:複数の着信キーワードパラメータを受け取り、それらを辞書の形式で保存します
def func(**kwargs):print(kwargs)func(e=33,h=44,f=55,d=66,c=77)func(**{'e':33,'h':44,'d':66,'c':77})
# 運用結果
{' e':33,'h':44,'f':55,'d':66,'c':77}{'e':33,'h':44,'f':55,'d':66,'c':77}
**kwargs、kwは辞書を受け取ります。
キーワードパラメータは直接渡すことができます:func(11,22、e = 33、h = 44、f = 55、d = 66、c = 77)、
最初にdictを組み立ててから、** unpacking:func(** {'e':33、 'h':44、 'd':66、 'c':77})に渡すこともできます。
注:* argsと** kwargsの使用はPythonのイディオムです。もちろん、他のパラメーター名も使用できますが、イディオムの方が優れています。
以上が本稿の内容ですので、皆様のご勉強に役立てていただければ幸いです。
Recommended Posts