Python documentation表示每个类的__init__
方法负责初始化其超类。但对于新式类,最终基类是object
。执行dir(object)
表示object
本身具有__init__
方法,可能会初始化。有什么理由这样做吗?
我倾向于这样做以保持一致性和(稍微)更容易重构类heirarchy,但我想知道它是否是绝对必要的或被认为是最佳实践。
答案 0 :(得分:15)
您 无法初始化object
;它的__init__
是无操作的。不过,这仍然是一种很好的做法,因为您可能希望稍后在层次结构中引入一个中间类。
答案 1 :(得分:5)
是的,做吧。这是一个很好的习惯,进入,并没有伤害。
答案 2 :(得分:5)
恕我直言,它根本没有任何意义。
pass
语句相同。Although practicality beats purity.
object
声明为超类。答案 3 :(得分:2)
是的,there is a reason为什么要这样做。
如果您需要使用多重继承,python的C3方法解析顺序(MRO)将不会调用所有__init__()
基类。