Python 类声明的区别
在Python中声明一个类有几种方式。我想知道下面这些例子之间有什么区别?
class MyClass:
def __init__(self)
pass
class MyClass(object):
def __init__(self)
pass
2 个回答
7
第二个声明创建了一个新风格类。新风格类是从一个内置类型派生的,在这里就是一个object
。这个概念是在Python 2.2中引入的,目的是为了统一类和类型。为了兼容旧版本,旧风格类仍然是默认的选择。
想了解更多,可以参考:http://docs.python.org/release/2.2.3/whatsnew/sect-rellinks.html
2
第二种方法是创建一种“新式”类。关于这方面的文档确实有点不足,正如在Python官网的几个地方提到的 Python指南3.3 和 这里。还有一篇由Python创始人(Guido van Rossum)撰写的 文章,描述了他们的设计,但这并不算是正式的文档。