如此多的数据结构和类具有返回类“视图”的函数。这意味着它不是独立的:即使在声明类实例之后它也会发生变化
例子:
>>> d
{'a': 1, 'c': 3, 'b': 2}
>>> keys = d.keys()
>>> kview = d.viewkeys()
>>> keys
['a', 'c', 'b']
>>> kview
dict_keys(['a', 'c', 'b'])
>>> d['d'] = 4
>>> keys
['a', 'c', 'b']
>>> kview
dict_keys(['a', 'c', 'b', 'd'])
如您所见,dict_keys
创建了一个类,该类被认为是字典数据结构中键的“视图”,因为它随着数据结构的更新而更新。
你怎么能看到类?
笔记:
这不是关于字典的问题,而是关于如何为任何类型的类创建“视图”的问题。numpy 数组有一个属性t
,它只是同一个数组上的一个视图,只是转置。