5

Python 3でカスタムビューオブジェクトを実装することは可能ですか?

ドキュメントによると:

dict.keys()、dict.values()、およびdict.items()によって返されるオブジェクトはビューオブジェクトです。これらは、ディクショナリのエントリに関する動的なビューを提供します。つまり、ディクショナリが変更されると、ビューはこれらの変更を反映します。

では、どういうわけかカスタムビューオブジェクトを作成することは可能ですか?

私はそれに関する情報を非常に長い間検索していましたが、私が見つけた唯一の説明は、ビューが何であるかであり、カスタムの作成方法や実装方法(内部メカニズム)ではありません。

4

1 に答える 1

1

Python 2では、これらの関数はリストを返します。Python 3では、リストのように機能するオブジェクトを取得します。リストのように振る舞うには何が必要ですか?

オブジェクトの動作を変更するために使用できる「特別な関数」がいくつかあります。あなたはおそらく__init__()すでに精通しているでしょう。「ビュー」を作成するために、最も重要なのはおそらく__len__()__getitem__()そしておそらく__iter__()です。

于 2013-02-01T18:36:07.887 に答える