在Python3中,我们不必继承对象,因为它是隐式继承的。
class A() #python 3 inherits from object但是,在Python2中,我们必须显式地从对象继承:
class A(object) #python 2 因此,一方面,我们最终希望迁移到Python 3,这将是一个不从对象继承的点。阅读这个线程:Python class inherits object。给我的感觉,它最终可能是有害的,但并不是真的。另一方面,我们不想把太多的东西弄得乱七八糟。
那么,如果您计划很快切换到Python 3,并希望拥有一个干净的继承链,那么该怎么做呢?
发布于 2016-03-30 09:05:50
不知道你为什么认为这会有害。在Python3上,从对象继承或不继承都不会改变任何东西,所以您可以保留它。
举个例子,如果你不相信我:
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代表“方法解析顺序”)
https://stackoverflow.com/questions/36303969
复制相似问题