可変パラメータ
Python には 2 種類の変数パラメータがあり、1 つはリスト型、もう 1 つは辞書型です。リスト型は C の変数パラメーターに似ており、次のように定義されます
ここで、args はタプルです。
辞書型の変数パラメータ:
args は辞書です
タプルと辞書をそれぞれ対応する変数パラメータに渡すことができます。形式は次のとおりです
デフォルトパラメータを使用した関数
関数のデフォルト値を持つパラメータは、使用するのに非常に便利です。通常の状況では、パラメータの受け渡しを省略してパラメータのデフォルト値を使用することも、次の場合にパラメータを積極的に渡すこともできます。呼び出す場合、パラメーターの順序を気にする必要はありません。これは使いやすく、論理制御を実行するためのマジック値として直接使用することもできます。
ただし、Pythonのデフォルト値パラメータは関数定義時に一度しか解析されないため、それ以降関数が呼び出されるたびに、デフォルト値パラメータはこの値になります。整数、文字列、祖先などの不変のデータ型に遭遇する場合は問題ありませんが、配列などの変更可能なデータ型に遭遇すると、予期しないことがいくつか起こります。
簡単な例を挙げて説明しましょう:
関数を呼び出すたびに期待される結果を含む新しい配列を取得したい場合は、明らかにそれはできません。関数 add_to のパラメーター target は、関数が初めて解析されるときに空の配列に割り当てられます。これは、後続の呼び出しがすべてターゲット変数と変数の ID 値に基づいて解析されるためです。まったく同じ。期待どおりの結果を得るには、この変数データ型パラメーターの null 値を表す None を指定できます:
Python の世界では、パラメータは識別子によって渡されます (大まかに説明すると、パラメータは参照によって渡されるということです)。注意する必要があるのは、パラメータの型が変数であるかどうかです。
リーリー