gpt4 book ai didi

python - dir() 一个 __class__ 属性?

转载 作者:太空宇宙 更新时间:2023-11-04 08:20:13 26 4
gpt4 key购买 nike

class Foo:
pass

>>> f = test.Foo()

让我们看看类实例......

>>> dir(f)
['__add__', [__class__] ...]

哦哦!让我们看看类实例元数据...

>>> dir(f.__class__)
['__add__', [__class__] ...]

嗯...期待 __class__ 的属性;但返回 f

的属性

尝试击中和试验......

>>> dir(f.__class__.__class__)
['__abstractmethods__', '__base__' ...]

嗯……为什么要加倍魅力?

最佳答案

dir(f)dir(f.__class__) 显示了两个不同事物的属性。只是你的空对象和它自己的类有相同的属性。试试这个:

>>> class Foo:
... def __init__(self):
... self.a = 17
...
>>> f = Foo()
>>> 'a' in dir(f)
True
>>> 'a' in dir(f.__class__)
False

关于python - dir() 一个 __class__ 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6596769/

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