1. ホーム
  2. python

なぜ python で **kwargs を使うのですか?名前付き引数を使うことの実際の利点は何ですか?

2023-10-09 04:43:51

質問

私は静的言語の背景から来ました。誰かが(理想的には例を通して)実世界を説明することはできますか? 名前付き引数よりも**kwargsを使用することの利点。 ?

私には、それは関数呼び出しをより曖昧にするように見えるだけです。ありがとうございます。

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

実際の例です。

デコレータ - 通常は一般的なものなので、前もって引数を指定することはできません。

def decorator(old):
    def new(*args, **kwargs):
        # ...
        return old(*args, **kwargs)
    return new

未知の数のキーワード引数で魔法をかけたい場所。Django の ORM はそれをやってくれます、例えば。

Model.objects.filter(foo__lt = 4, bar__iexact = 'bar')