是否可以在 Python 3 中实现自定义视图对象?
根据文档:
dict.keys()、dict.values() 和 dict.items() 返回的对象是视图对象。它们提供字典条目的动态视图,这意味着当字典更改时,视图会反映这些更改。
那么是否有可能以某种方式创建自定义视图对象?
我搜索了很长时间有关它的任何信息,但我发现的唯一解释是视图是什么,而不是如何创建自定义或如何实现它们(它们的内部机制)。
是否可以在 Python 3 中实现自定义视图对象?
根据文档:
dict.keys()、dict.values() 和 dict.items() 返回的对象是视图对象。它们提供字典条目的动态视图,这意味着当字典更改时,视图会反映这些更改。
那么是否有可能以某种方式创建自定义视图对象?
我搜索了很长时间有关它的任何信息,但我发现的唯一解释是视图是什么,而不是如何创建自定义或如何实现它们(它们的内部机制)。
在 Python 2 中,这些函数返回一个列表。在 Python 3 中,您可以得到像列表一样的对象。像列表一样行事需要什么?
您可以使用许多“特殊功能”来更改对象的行为。你可能已经很熟悉了__init__()
。对于制作“视图”,最重要的可能是__len__()
,__getitem__()
也许__iter__()
。