#经典类class My: pass
#新式类class My2(object): pass
######python3里面没有任何的区别
例:
class A(object): def x(self): print('A')class B(A): # def x(self): # print('B') passclass C(A): def x(self): print('C')
class D(B,C): pass
s = D()s.x()
*** 区别 *** 只限 python 2 ***
区别一、
经典类是 深度优先:先找 B -> B 要是没有x()方法,则找 A -> 然后再找 C
新式类是 广度优先:先找 B -> B 要是没有x()方法,则找 C -> 然后再找 A
区别二、
经典类不能用 super(用于自动帮你找到父类)
新式类可以用 super
转载于:https://www.cnblogs.com/lynn-chen/p/9116967.html
相关资源:JAVA上百实例源码以及开源项目