两个类定义之间的差异是啥[重复]

Posted

技术标签:

【中文标题】两个类定义之间的差异是啥[重复]【英文标题】:what is diff between both of class definition [duplicate]两个类定义之间的差异是什么[重复] 【发布时间】:2014-05-11 02:33:03 【问题描述】:

在 Python 2 中,类应明确定义为对象的子类。在 Python 3 中,这将是 默认。

>>> class A(object):
    pass

>>> class B():
    pass

>>> type(B)
<type 'classobj'>
>>> type(A)
<type 'type'>

我使用 Python 2.7,据我所知,在 2.7 中 class 继承自 object

【问题讨论】:

阅读本文以了解新样式类 ***.com/questions/4015417/…? 我很确定 class 在 python >=3.0 中继承自 object,但不是 2.7。在 python 2.x 中,您仍然必须从 object 显式继承。 【参考方案1】:

即所谓的“新样式对象”,在python 2.2中引入。

新样式对象与经典对象有不同的对象模型,有些东西不能与旧样式对象正常工作,例如 super()、@property 和描述符。

更多关于它的著名问题:

Python class inherits object

另请参考:

https://docs.python.org/release/2.2.3/whatsnew/sect-rellinks.html

另外,请注意它们之间的区别仅在 Python 2 中。在 Python 3 中,这两种声明类型不再有区别(我知道您的问题是关于 Python 2 的,只是一个小提示)。

【讨论】:

新的样式对象是哪一个? @omeinusch:第一个,A

以上是关于两个类定义之间的差异是啥[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何找到两个日期之间的天数差异[重复]

两个日期之间的天数差异[重复]

如何获得两个DataFrame之间的差异[重复]

计算两个日期时间odoo 10之间的差异[重复]

查找两个文本文件之间的差异,每行一项[重复]

基于pyspark中仅一列的两个DataFrame之间的差异[重复]