2013-02-01 36 views
3

是否可以在Python 3中實現自定義視圖對象?Python3自定義視圖對象

根據文檔:由dict.keys(返回)()dict.items()

目的,dict.values並且查看對象。它們提供了有關字典條目的動態視圖,這意味着當字典更改時,視圖反映了這些更改。

那麼有可能以某種方式創建自定義視圖對象?

我正在尋找很長的關於它的任何信息,但我發現的唯一解釋是什麼是觀點,而不是如何創建自定義它們是如何實現的(其內部機制)。

+0

你能否繼承字典並利用視圖? – dm03514

+1

查看什麼對象? –

回答

1

在Python 2中,這些函數返回一個列表。在Python 3中,你會得到像列表一樣的對象。如何像列表一樣行事?您可以使用a number of 'special functions'更改對象的行爲。您可能已經熟悉__init__()。爲了製作'視圖',最重要的可能是__len__(),__getitem__()或者__iter__()

+0

啊所以一個觀點是沒有什麼特別的?這是一個簡單的迭代類,結合了其他方法? –

+0

@ danilo2視圖不需要*是任何特殊的東西。出於性能考慮,我懷疑它可能在C中實現。 –

+0

這是我正在尋找的信息!謝謝:) –