Python 在从“object”派生的类中调用super()。\uuuuu init\uuuuuu()?

Python 在从“object”派生的类中调用super()。\uuuuu init\uuuuuu()?,python,Python,Python说每个类的\uuuu init\uuu方法负责初始化其超类。但是对于新样式的类,最终的基类是object。执行dir(object)显示object本身有一个\uuuu init\uuuu方法,并且可能被初始化。有什么理由这样做吗 我倾向于这样做是为了保持一致性和(稍微)简化类继承权的重构,但我想知道这是绝对必要的还是被认为是最佳实践。是的,这样做。这是一个很好的习惯,而且不会造成伤害。您不需要初始化对象;它的\uuuuuu init\uuuuuuuuuu是不可操作的。尽管如此,这仍

Python说每个类的
\uuuu init\uuu
方法负责初始化其超类。但是对于新样式的类,最终的基类是
object
。执行
dir(object)
显示
object
本身有一个
\uuuu init\uuuu
方法,并且可能被初始化。有什么理由这样做吗


我倾向于这样做是为了保持一致性和(稍微)简化类继承权的重构,但我想知道这是绝对必要的还是被认为是最佳实践。

是的,这样做。这是一个很好的习惯,而且不会造成伤害。

您不需要初始化
对象
;它的
\uuuuuu init\uuuuuuuuuu
是不可操作的。尽管如此,这仍然是一个很好的实践,因为您可能希望在以后的层次结构中引入一个中间类。

我想这根本没有任何意义

  • 它使您重新检查继承,以了解它不起任何作用
  • 这与添加带有函数调用开销的
    pass
    语句相同
  • 引用禅宗的话:
    尽管实用胜过纯洁。
  • Python3不要求将
    对象
    声明为超类
  • 是的,还有你为什么要这么做

    如果需要使用多重继承,python的C3方法解析顺序(MRO)将不会调用所有的
    \uuu init\uuu()
    基类