gpt4 book ai didi

带 View 的 python 类

转载 作者:太空宇宙 更新时间:2023-11-03 18:46:46 25 4
gpt4 key购买 nike

许多数据结构和类都有返回类“ View ”的函数。这意味着它不是独立的:即使在声明类实例之后,它也会发生变化

示例:

>>> 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,该类被视为字典数据结构中键的“ View ”,因为它会随着数据结构的更新而更新。

如何查看类(class)?

注意:

这不是一个关于字典的问题,这是一个关于如何为任何类型的类创建“ View ”的问题。 numpy 数组有一个属性 t,它只是同一数组上的一个 View ,只是转置了。

最佳答案

引用自http://www.python.org/dev/peps/pep-3106/#specification

The view objects are not directly mutable, but don't implement hash(); their value can change if the underlying dict is mutated.

The only requirements on the underlying dict are that it implements getitem(), contains(), iter(), and len().

您可以在那里看到示例实现

关于带 View 的 python 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19352727/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com