Python3 自定义视图对象

6 投票
1 回答
1188 浏览
提问于 2025-04-17 14:27

在Python 3中,可以实现自定义视图对象吗?

根据文档的说明:

通过dict.keys()、dict.values()和dict.items()返回的对象是视图对象。它们提供了一个动态的视图,意味着当字典发生变化时,这个视图也会反映这些变化。

那么,是否有可能以某种方式创建自定义的视图对象呢?

我搜索了很久关于这个的任何信息,但我找到的解释只是什么是视图,而不是如何创建自定义视图它们是如何实现的(它们的内部机制)。

1 个回答

1

在Python 2中,这些函数会返回一个列表。而在Python 3中,你得到的是一些看起来像列表的对象。那么,什么样的东西才能看起来像列表呢?

有一些“特殊函数”可以用来改变一个对象的行为。你可能已经对__init__()这个函数有些了解了。为了创建一个“视图”,最重要的函数可能是__len__()__getitem__(),还有可能是__iter__()

撰写回答