Python语言新样式与旧样式类
示例
在Python2.2中引入了新的类,以统一类和类型。它们从顶级object类型继承。新型类是用户定义的类型,与内置类型非常相似。
#新式课 class New(object): pass #新样式实例 new = New() new.__class__ # <class '__main__.New'> type(new) # <class '__main__.New'> issubclass(New, object) #真正
旧式类不能从继承object。旧式实例始终使用内置instance类型来实现。
#老式类 class Old: pass #旧式实例 old = Old() old.__class__ # <class __main__.Old at ...> type(old) # <type 'instance'> issubclass(Old, object) #假
在Python3中,删除了旧式类。
Python3中的新型类隐式继承自object,因此不再需要指定MyClass(object)。
class MyClass: pass my_inst = MyClass() type(my_inst) # <class '__main__.MyClass'> my_inst.__class__ # <class '__main__.MyClass'> issubclass(MyClass, object) #真正