python类声明中的差异

Difference in Python class declaration

本问题已经有最佳答案,请猛点这里访问。

在Python类声明中,我可以通过几种方法声明类。以下样品有什么区别?

1
2
3
4
5
6
7
8
class MyClass:
 def __init__(self)
     pass


class MyClass(object):
   def __init__(self)
     pass


第二个声明创建了一个新的样式类。一个新的样式类是从内置类型派生的,在本例中是一个object。这是在Python2.2中为了统一类和类型而引入的。对于向后兼容性,旧样式类仍然是默认的

附加阅读:http://docs.python.org/release/2.2.3/whatsnew/sect-rellinks.html


第二种方法是创建一个"新样式"类。诚然,文档有点欠缺,正如在Python网站python guide 3.3和这里提到的。还有一篇文章描述了他们的设计,作者是Python的创建者(guido van rossum),但这并不是严格的文档。