Python3 自定义视图对象
在Python 3中,可以实现自定义视图对象吗?
根据文档的说明:
通过dict.keys()、dict.values()和dict.items()返回的对象是视图对象。它们提供了一个动态的视图,意味着当字典发生变化时,这个视图也会反映这些变化。
那么,是否有可能以某种方式创建自定义的视图对象呢?
我搜索了很久关于这个的任何信息,但我找到的解释只是什么是视图,而不是如何创建自定义视图或它们是如何实现的(它们的内部机制)。
1 个回答
1
在Python 2中,这些函数会返回一个列表。而在Python 3中,你得到的是一些看起来像列表的对象。那么,什么样的东西才能看起来像列表呢?
有一些“特殊函数”可以用来改变一个对象的行为。你可能已经对__init__()
这个函数有些了解了。为了创建一个“视图”,最重要的函数可能是__len__()
、__getitem__()
,还有可能是__iter__()
。