首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >继承Python2.7中的对象以避免使其与Pyhton3兼容?

继承Python2.7中的对象以避免使其与Pyhton3兼容?
EN

Stack Overflow用户
提问于 2016-03-30 08:51:37
回答 1查看 229关注 0票数 0

Python3中,我们不必继承对象,因为它是隐式继承的。

代码语言:javascript
复制
class A() #python 3 inherits from object

但是,在Python2中,我们必须显式地从对象继承:

代码语言:javascript
复制
class A(object) #python 2 

因此,一方面,我们最终希望迁移到Python 3,这将是一个不从对象继承的点。阅读这个线程:Python class inherits object。给我的感觉,它最终可能是有害的,但并不是真的。另一方面,我们不想把太多的东西弄得乱七八糟。

那么,如果您计划很快切换到Python 3,并希望拥有一个干净的继承链,那么该怎么做呢?

EN

回答 1

Stack Overflow用户

发布于 2016-03-30 09:05:50

不知道你为什么认为这会有害。在Python3上,从对象继承或不继承都不会改变任何东西,所以您可以保留它。

举个例子,如果你不相信我:

代码语言:javascript
复制
class A:
    pass
class B(object):
    pass
a = A()
print(A.mro())
print(B.mro())

[<class '__main__.A'>, <class 'object'>]
[<class '__main__.B'>, <class 'object'>]

(mro代表“方法解析顺序”)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36303969

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档