ringa_lee
この構造は自分で実装できます。 次の例では、AutoVivification は dict から継承します
AutoVivification は次のように使用できます:
出力:
さらに、AutoVivification の別の実装方法があります。これは、dict の __missing__ マジック メソッドを直接オーバーロードすることです。延長として考えてください。
__missing__
もう 1 つ、Python 2.5 以降のバージョンでは、よりスケーラブルな dict 型をカスタマイズできる collections.defaultdict 型が追加されました。 ドキュメントには、実装原則は __missing__ メソッドをオーバーロードすることであると記載されています。 AutoVivification は次のように表現することもできます:
collections.defaultdict
defaultdict は、最初のパラメータが default_factory である dict 型を構築します。__missing__ が呼び出されるとき、戻り値は、default_factory を使用して構築されます。 defaultdict のその他の例
defaultdict パッケージの使用法を添付します:
このようにして、望ましい効果を達成できます。
補足: defaultdict() はデフォルトのパラメータを受け取ります。これは型名またはパラメータなしで呼び出し可能な関数にすることができます これは非常に便利です
この構造は自分で実装できます。
リーリー次の例では、AutoVivification は dict から継承します
AutoVivification は次のように使用できます:
リーリー出力:
リーリーさらに、AutoVivification の別の実装方法があります。これは、dict の
リーリー__missing__
マジック メソッドを直接オーバーロードすることです。延長として考えてください。もう 1 つ、Python 2.5 以降のバージョンでは、よりスケーラブルな dict 型をカスタマイズできる
リーリーcollections.defaultdict
型が追加されました。ドキュメントには、実装原則は
__missing__
メソッドをオーバーロードすることであると記載されています。 AutoVivification は次のように表現することもできます:defaultdict は、最初のパラメータが default_factory である dict 型を構築します。
__missing__
が呼び出されるとき、戻り値は、default_factory を使用して構築されます。defaultdict のその他の例
defaultdict パッケージの使用法を添付します:
リーリー出力:
リーリーこのようにして、望ましい効果を達成できます。
補足:
リーリーdefaultdict() はデフォルトのパラメータを受け取ります。これは型名またはパラメータなしで呼び出し可能な関数にすることができます
これは非常に便利です
出力:
リーリー