gpt4 book ai didi

python - 如果你从 dict 继承,为什么 __dict__ 总是空的?

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

我对 Python 2.7 中的子类化行为有疑问。

如果我从内置的 dict 类型继承,似乎 __ dict __ 总是空的。Python 将键/值对保存在哪里?

>>> class Foobar(dict):
... pass
...
>>> foobar = Foobar()
>>> foobar.__dict__
{}
>>> foobar['test'] = 1
>>> foobar.__dict__
{}
>>>

最佳答案

__dict__ 是存储对象属性的地方。 Dicts 的项目不是属性,它们是项目。大多数字典没有数据属性。

顺便说一句:dict 的子类化很难正确执行,具体取决于您要实现的目标。例如,您可以覆盖它的 __setitem__ 方法,但是 update 将不会使用它。

关于python - 如果你从 dict 继承,为什么 __dict__ 总是空的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6973747/

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