Python 类声明的区别

4 投票
2 回答
869 浏览
提问于 2025-04-17 09:26

在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)撰写的 文章,描述了他们的设计,但这并不算是正式的文档。

撰写回答