1. ホーム
  2. python

[解決済み] Pythonで**kwargsを使用する正しい方法

2022-03-18 06:34:23

質問

を使用する適切な方法は何ですか? **kwargs は、Pythonのデフォルト値について教えてください。

kwargs は辞書を返しますが、デフォルト値を設定するのに最適な方法、あるのでしょうか? 単に辞書としてアクセスすればいいのでしょうか? get関数を使う?

class ExampleClass:
    def __init__(self, **kwargs):
        self.val = kwargs['val']
        self.val2 = kwargs.get('val2')

簡単な質問ですが、良い資料が見つかりません。 私が見たコードでは、人々はさまざまな方法でそれを行い、何を使えばいいのかがわかりません。

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

にデフォルト値を渡すことができます。 get() は、辞書にないキーのために

self.val2 = kwargs.get('val2',"default value")

しかし、特定の引数を特定のデフォルト値で使うつもりなら、そもそも名前付き引数を使えばいいのではないでしょうか。

def __init__(self, val2="default value", **kwargs):