python - 如果一个类没有定义 __init__ ,Python 会调用父类直到它解析吗?

标签 python oop

Python 将在方法的类和该类的所有父类中解析方法名称,直到它解析为止。

这是否也适用于构造函数。即,如果一个类没有定义 __init__() 但它的父类定义了,是否会自动调用父构造函数?

最佳答案

简短的回答是:。这就是继承的工作原理。

这也是为什么当您重写子类中的方法时,大多数时候您应该显式调用父构造函数(除非您出于某种原因想要不这样做)。

Python 中的方法解析顺序也值得学习:Method Resolution Order (MRO) in new style Python classes .它定义了解析方法的顺序(在多重继承的情况下尤其重要)。

关于python - 如果一个类没有定义 __init__ ,Python 会调用父类直到它解析吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17597076/

相关文章:

python - 在 http.client 或 python-requests 中获取 http 原始(未解析)响应

python - 如何找到大于平均值/中位数的平均工资

javascript - 国际化怎么走?

python - 具体爆列

java - 为通过名称标识的对象创建一个类是个好主意吗?

c++ - 检查传递的类型接口(interface)

python - 在 Pandas 数据框中将单个列向前移动几个日期

scala - 使用无参数方法覆盖字段

php - 既然可以在声明时设置变量,为什么还要在 PHP 类的结构中设置变量呢?

java - 实现某些东西的主类是否违反单一职责原则?