関数への引数の受け渡しについてはすでに触れました。その際、位置に応じて対応するパラメータを渡しました。さらにパラメータを渡すメソッドについても触れます。
位置転送の呼び出し:
print(f(1,2,3))
キーワードの受け渡し
場合によっては、ポジションパスの使用が堅苦しく感じることがあります。キーワードの受け渡しとは、各パラメーターの名前に従ってパラメーターを渡すことです。キーワードは位置の対応に従う必要はありません。上記の f の定義を引き続き使用し、呼び出しメソッドを変更します。
キーワードの受け渡しは、位置の受け渡しと組み合わせることができます。ただし、位置パラメータはキーワード パラメータの前に指定する必要があります:
パラメータのデフォルト値
関数を定義するときは、a=19 の形式を使用してパラメータにデフォルト値を割り当てます。このパラメータに最終的に値が渡されない場合は、このデフォルト値が使用されます。
print(f(3,2))
print(f(3,2,1))
関数が 2 回目に呼び出されるとき、c には値 1 が割り当てられ、デフォルト値は使用されなくなります。
荷物の配達
関数を定義するとき、呼び出し時に渡されるパラメーターの数がわからないことがあります。現時点では、パラメータを渡すために位置パラメータをラップしたり、キーワード パラメータをラップしたりすると非常に便利です。
以下は荷物の場所への配送の例です:
関数(1,4,6)
func(5,6,7,1,2,3)
Python パラメータを思い出させるために、name は位置転送をパッケージ化するために使用されるタプル名です。func を定義するときは、name の前に * 記号を追加します。
以下はラップされたキーワードの受け渡しの例です:
関数(a=1,b=9)
func(m=2,n=1,c=11)
パッケージ配信の鍵は、関数を定義するときに、対応するタプルまたは辞書の前に * または ** を追加することです。
開梱
* と ** は、呼び出し、つまり解凍するときにも使用できます。次に例を示します。
func(*args)
注: 定義と呼び出しの違いに注意してください。ラッピングとアンラッピングは相反する操作ではなく、比較的独立した 2 つのプロセスです。
概要キーワード、デフォルト値、
荷物の場所、荷物のキーワード
開梱