Python : method resolution order of old-style (or classic) and new-style objects
我已经阅读了很多关于Python文档中的对象的内容,它们在某种程度上区分了这两个对象,比如:
- 旧样式实例独立于它们的类,通过一个称为实例的内置类型实现。
- 新样式类既不是用户定义的类型,也不是用户定义的类型。
有人能给我更多的解释一下这个"旧风格(或经典)和新风格"吗?
我不明白这句话想说什么:
"对于新样式的类,方法解析顺序会动态更改,以支持对super()的协作调用。"
龄级的方式: </P >
1 2 3 4 5 6 7 | class BaseClass: def m1(self): return 1 class MyClass(BaseClass): def m1(self): return BaseClass.m1(self) |
新的类型: </P >
1 2 3 4 5 6 7 | class BaseClass(object): def m1(self): return 1 class MyClass(BaseClass): def m1(self): return super(MyClass, self).m1() |
他们是一批大学的可能性,采用新的教学方式,如: </P >
-
super(classname, ...).method() 去大学的parentclassname.method(...) 。。。。。。。《亲子法现在是从(在)(私营决心,是决心用你)。 -
__slots__ 是一个新的特征是可以预防的add a dict()在你的《面向allocate存储器和只读的属性在__slots__ - Python的置业(
@property ,property() ……)是只读的工作是新的教学方式。
关于)(私营,检查文件中的Python 2.3分辨率方法的阶。2.2之前,实现的是: </P >
depth first and then left to right
在纽约,一个是C3,多的更复杂,但handle的各种不同的情况下,对以前的一个不correctly(handle检查的pedroni萨缪埃利后在海南的Python list)。 </P >