Если вы переопределите метод __init__
суперкласса, то метод __init__
подкласса должен явно вызвать его, если это является предполагаемым поведением, да.
Ваша ментальная модель __init__
это неверно; это не метод конструктора, это ловушка, которую вызывает метод конструктора, чтобы вы могли легко настроить инициализацию объекта. (Фактический конструктор называется __new__
, но вам не нужно это знать, и, вероятно, вам никогда не понадобится взаимодействовать с ним напрямую, не говоря уже о его изменении.)