class Foo:
pass
>>> f = test.Foo()
Run Code Online (Sandbox Code Playgroud)
让我们看看类实例......
>>> dir(f)
['__add__', [__class__] ...]
Run Code Online (Sandbox Code Playgroud)
哦!让我们看看类实例元数据......
>>> dir(f.__class__)
['__add__', [__class__] ...]
Run Code Online (Sandbox Code Playgroud)
嗯...期待属性__class__; 但返回的属性f
尝试打击和试用......
>>> dir(f.__class__.__class__)
['__abstractmethods__', '__base__' ...]
Run Code Online (Sandbox Code Playgroud)
嗯...为什么两次魅力?
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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
217 次 |
| 最近记录: |