在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中,新式类&经典类的主要区别在于继承搜索的顺序发生了改变
经典类多继承搜索顺序(深度优先);新式类多继承搜索顺序(广度优先)。
网友评论