以下の内容はhttps://blog.utgw.net/entry/2021/06/22/175804より取得しました。


Pythonのキーワード引数に任意のdictを展開して渡す

Pythonでは、引数に **kwargs のように書くことで、任意のキーワード引数を受ける関数を定義することができる。 キーワード引数はdictとして使うことができる。

def print_kwargs_as_dict(**kwargs):
    print(kwargs)

キーワード引数では、識別子としてvalidな名前の引数しか渡せない。また、任意の文字列や文字列リテラルを使うことはできない。以下の式はいずれも文法エラーになる。

print_kwargs_as_dict(foo/bar='baz')
print_kwargs_as_dict('foo/bar/'='baz')

ところで、Pythonには任意のdictを展開して関数に渡す文法が定義されている。

kwargs = dict(foo='bar')
print_kwargs_as_dict(**kwargs)
# => {'foo':'bar'}

ここで、関数呼び出しの文法を注意深く眺めると、キーワード引数に任意のdictを展開して渡せることが分かる。つまり以下の式はvalidである。

print_kwargs_as_dict(**{'foo/bar':'baz'})
# => {'foo/bar':'baz'}



以上の内容はhttps://blog.utgw.net/entry/2021/06/22/175804より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14