在Python 2.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) # 假
在Python 3中,删除了旧式类。
Python 3中的新型类隐式继承自object,因此不再需要指定MyClass(object)。
class MyClass: pass my_inst = MyClass() type(my_inst) # <class '__main__.MyClass'> my_inst.__class__ # <class '__main__.MyClass'> issubclass(MyClass, object) # 真正