Bil*_*lly 9 python class python-2.x isinstance python-internals
在Python 2中,为什么旧样式类的实例仍然是实例,object即使它们没有显式继承object?
class OldClass:
pass
>>> isinstance(OldClass(), object)
True
Run Code Online (Sandbox Code Playgroud)
在测试之前,我会得出结论,isinstance(x, object) == True这意味着它x是一个子类object的实例,因此是新样式类的一个实例,但似乎Python 2中的所有对象都是实例object(是的,我知道声音有多明显) ).
进一步挖掘,我发现了一些看似奇怪的行为:
>>> issubclass(OldClass, object)
False
Run Code Online (Sandbox Code Playgroud)
我的印象isinstance(x, SomeClass)实际上相当于issubclass(x.__class__, SomeClass),但显然我错过了一些东西.
| 归档时间: |
|
| 查看次数: |
227 次 |
| 最近记录: |