Pythonのクラス継承で__init__に割り込みたい
解決したいこと
次のようなクラスAがあり, __init__
とその最後に呼ばれる post_init
があります。
このクラスをクラスBに継承して, __init__
とpost_init
にそれぞれ処理を追加したいです。
class A:
def __init__(self) -> None:
print("A.init")
self.post_init()
def post_init(self):
print("A.post_init")
class B(A):
def __init__(self) -> None:
super().__init__()
print("B.init")
def post_init(self):
super().post_init()
print("B.post_init")
この実装のとき
a = A()
# A.init
# A.post_init
b = B()
# A.init
# A.post_init
# B.post_init
# B.init
と出力されますが、
# A.init
# B.init
# A.post_init
# B.post_init
のようにそれぞれのタイミングで処理を追加したいです。
どのような実装方法がありますか?
0