4

私は非常に優れたコレクション ライブラリと、より具体的な抽象基本クラス (ABC) を調べていました。私が理解できなかったのは、MappingView です。

  • その用途は何ですか?Sized に対する利点は何ですか? おそらく例ですか?
  • ドキュメンテーションによると、その基本クラスは Sized ですが、一方でlen mixin があります...では、 len を実装する必要がありますか?

ドキュメントについては、コレクションを参照してください

4

1 に答える 1

5

MappingView基本的に、ユーザー定義ビューの基本クラスです。メンバーの長さである属性をSized提供することでインターフェイスを実装するため、この実装で問題ない場合は、独自の を実装する必要はありません。__len___mapping__len__

KeysViewItemsViewおよびの共通コードを保持しますValuesView。これらの最後のクラスは、ビューがmy_dict.keys()my_dict.items()またはmy_dict.values()期待される場所であればどこでも使用できます。keys新しいユーザー定義の種類のデータを作成し、 、valuesまたはと比較できないビューを作成する場合は、および関数を直接itemsサブクラス化し、別の方法で実装できます。MappingView__contains____iter__

于 2013-11-18T16:47:53.307 に答える