在 Python 3 中,我们不必继承对象,因为它是隐式继承的。
class A() #python 3 inherits from object
但是在 Python 2 中,我们必须显式地继承自object:
class A(object) #python 2
所以一方面,我们最终想要转向Python 3,这将是不从对象继承的一点。阅读这个帖子:Python class inherits object。给我的感觉,它最终可能有害,但不是真的。另一方面,我们不想过多地讨论hacky东西。
那么,如果您计划很快切换到Python 3并希望拥有一个干净的继承链,那么该怎么做呢?
答案 0 :(得分:2)
不确定为什么你认为它会有害。在继承自对象的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代表“方法解析顺序”)