【问题标题】:Difference in Python class declaration [duplicate]Python类声明的区别[重复]
【发布时间】:2012-02-01 10:21:46
【问题描述】:

在 python 类声明中,我可以通过几种方式声明一个类。以下样本有什么区别?

class MyClass:
 def __init__(self)
     pass


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

【问题讨论】:

  • 一个重要的问题,但显然可以通过阅读文档来回答“自助服务”..

标签: python python-2.6


【解决方案1】:

第二个声明创建一个new-style class。新样式类派生自内置类型,在本例中为object。这是在 python 2.2 中引入的,目的是统一类和类型。为了向后兼容旧式类仍然是默认的

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

【讨论】:

  • FTR,在 Python 3 中这两种语法没有区别。
【解决方案2】:

第二种方式创建一个“新式”类。正如python网站Python Guide 3.3here上的几个地方所提到的,文档确实有点缺乏。还有一个 essay 描述了 Python 的创建者 (Guido van Rossum) 的设计,但它不是严格的文档。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-20
    • 2015-07-29
    • 2017-11-01
    • 1970-01-01
    • 2014-06-26
    • 2011-02-23
    • 2014-11-21
    • 2011-05-23
    相关资源
    最近更新 更多