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
