1. ホーム
  2. パイソン

[解決済み】通常引数 vs キーワード引数

2022-03-28 09:49:44

質問

キーワード引数は、通常の引数とどう違うのですか?すべての引数を name=value 位置決め構文を使う代わりに?

どのように解決するのですか?

関連する概念として、「"」と呼ばれる2つの概念があります。 キーワード引数 となります。

呼び出し側では、他のコメントにもあるように、いくつかの関数の引数を名前で指定する機能があります。その場合、名前を持たない引数の後にそれらを記述しなければなりません ( 位置決め引数 を使用する必要があり、また デフォルト値 を、全く言及されていないパラメータに対して設定します。

もうひとつは、関数定義側の概念で、パラメータを名前で受け取る関数を定義することができます。これらは純粋に キーワード引数 位置的に渡すことはできない。構文は次のとおりです。

def my_function(arg1, arg2, **kwargs)

任意の キーワード引数 という名前の辞書に格納されます。 kwargs . この辞書のキーは、実行時に次のように調べることができます。

def my_function(**kwargs):
    print str(kwargs)

my_function(a=12, b="abc")

{'a': 12, 'b': 'abc'}