通常の引数とキーワード引数 質問する

通常の引数とキーワード引数 質問する

name=value「キーワード引数」は通常の引数とどう違うのですか?位置構文を使用する代わりに、すべての引数を として渡すことはできないのですか?

ベストアンサー1

関連する概念が 2 つあり、どちらも「キーワード引数」と呼ばれます。

他のコメント投稿者が言及しているように、呼び出し側では、関数の引数の一部を名前で指定することができます。名前のない引数 (位置引数) の後にそれらを指定する必要があり、まったく指定されていないパラメータにはデフォルト値が必要です。

もう1つの概念は関数定義側にあります。名前でパラメータを取る関数を定義できます。その名前を指定する必要さえありません。これらは純粋なキーワード引数であり、位置指定で渡すことはできません。構文は次のとおりです。

def my_function(arg1, arg2, **kwargs)

この関数に渡すキーワード引数はすべて、 という名前の辞書に配置されますkwargs。実行時にこの辞書のキーを次のように調べることができます。

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

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

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

おすすめ記事