私は非常に優れたコレクション ライブラリと、より具体的な抽象基本クラス (ABC) を調べていました。私が理解できなかったのは、MappingView です。
- その用途は何ですか?Sized に対する利点は何ですか? おそらく例ですか?
- ドキュメンテーションによると、その基本クラスは Sized ですが、一方でlen mixin があります...では、 len を実装する必要がありますか?
ドキュメントについては、コレクションを参照してください
私は非常に優れたコレクション ライブラリと、より具体的な抽象基本クラス (ABC) を調べていました。私が理解できなかったのは、MappingView です。
ドキュメントについては、コレクションを参照してください
MappingView基本的に、ユーザー定義ビューの基本クラスです。メンバーの長さである属性をSized提供することでインターフェイスを実装するため、この実装で問題ない場合は、独自の を実装する必要はありません。__len___mapping__len__
KeysView、ItemsViewおよびの共通コードを保持しますValuesView。これらの最後のクラスは、ビューがmy_dict.keys()、my_dict.items()またはmy_dict.values()期待される場所であればどこでも使用できます。keys新しいユーザー定義の種類のデータを作成し、 、valuesまたはと比較できないビューを作成する場合は、および関数を直接itemsサブクラス化し、別の方法で実装できます。MappingView__contains____iter__