なぜこのコードでは10
が印刷されませんか?なぜこのスーパークラスは初期化中にサブクラス内のメソッドを実行しませんか?
スーパークラスがサブクラスの__init_var
メソッドを呼び出すと予想していました。
class A:
def __init__(self):
self.__init_var()
def __init_var(self):
self.var = 1
class B(A):
def __init__(self):
A.__init__(self)
def __init_var(self):
self.var = 10
print(B().var)