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