久しぶりにpython書いてるとよく間違えちゃうんのでメモ。
python3 でsuper()を使う場合、第一引数としてselfは暗黙的に渡される。
なので下記2例はどちらも同じ意味
super()で親クラスのメソッド呼び出す場合
class A(Base):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs) # self引数は不要
super()を使わない場合
class B(Base):
def __init__(self, *args, **kwargs):
Base.__init__(self, *args, **kwargs)