__init__
作为构造函数?答案 0 :(得分:1)
__init__
;它不能被命名为其他任何东西(否则,Python将如何知道哪个函数是构造函数?)。__init__
(虽然它可以调用其他功能)。self
以外的名称会使您的代码更难以被其他人阅读,他们希望按惯例使用名称self
。答案 1 :(得分:1)
初始化实例的唯一构造函数是__init__
。如果你想要多态,你只需要灵活地解析和解释__init__
的输入参数。你有使用它吗?不,你可以省略它,在这种情况下,Python调用超类的__init__
方法,如果有的话。
还有一个名为__new__
的方法,在__init__
之前调用,但它的目的不同,行为也不相同:请参阅https://stackoverflow.com/a/674369/3019689
不,self
可以重命名,但结果将是不易读,维护较少的代码,因为self
是完善的常规名称。