python 2 中的新式类、经典类

2020-01-14  本文已影响0人  emm_simon

在Python 3.x中取消了经典类,默认都是新式类;但是在Python2.x中,是有区分新式类和经典类的,python2中默认都是经典类。

在Python 3.x中取消了经典类,默认都是新式类,并且不必显式的继承object
class Person(object):pass
class Person():pass
class Person:pass
三种写法并无区别,都是新式类,推荐第一种

但是在Python2.x中,默认都是经典类,只有显式继承了object才是新式类,即:
class Person(object):pass新式类写法
class Person():pass经典类写法
class Person:pass经典类写法

python2中,新式类&经典类的主要区别在于继承搜索的顺序发生了改变

经典类多继承搜索顺序(深度优先);新式类多继承搜索顺序(广度优先)。

上一篇 下一篇

猜你喜欢

热点阅读