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