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)
#真正