在从`object`派生的类中调用super().__ init __()?

Cod*_*key 10 python

Python 文档__init__每个类的方法负责初始化它的超类.但对于新式课程,最终的基础是object.做dir(object)一些object自己有__init__方法并可能被初始化的节目.有什么理由这样做吗?

我倾向于这样做以保持一致性和(略微)更容易重构类heirarchy,但我想知道它是否是严格必要的或被认为是最佳实践.

Fre*_*Foo 14

不需要初始化object; 这__init__是一个无操作.不过,这仍然是一种很好的做法,因为您可能希望稍后在层次结构中引入一个中间类.


Ned*_*der 5

做吧.这是一个很好的习惯进入,它并没有伤害.


小智 5

恕我直言,它根本没有任何意义.

  1. 它让你仔细检查继承,意识到它什么都不做
  2. 它与添加pass带有函数调用开销的语句相同.
  3. 引用禅宗: Although practicality beats purity.
  4. Python 3不要求您声明object为超类.