Pythonのsuper()メソッドの使い方

Pythonでsuper()は、親クラスのメソッドを呼び出すために使われる組み込み関数です。典型的には、サブクラスのコンストラクタの中で、サブクラス内で親クラスのコンストラクタを呼び出して親クラスの属性を初期化するために使用されます。

スーパークラスのメソッドやプロパティをサブクラスで呼び出す場合、super() を利用する。

  1. __init__をsuperで呼び出す
class Parent:
def __init__(self, name):
self.name = name
class Child(Parent):
def __init__(self, name, age):
super().__init__(name)  # 调用父类的构造函数
self.age = age
child = Child("Alice", 10)
print(child.name)  # 输出:Alice
print(child.age)  # 输出:10
  1. super().メソッド()
class Parent:
def greet(self):
print("Hello from Parent")
class Child(Parent):
def greet(self):
super().greet()  # 调用父类的方法
print("Hello from Child")
child = Child()
child.greet()  # 输出:Hello from Parent    Hello from Child

スーパーは必須ではありませんが、特に単一継承では、親クラスのクラス名で呼び出せば十分です。ただし、多重継承の場合、スーパーを使用しないと、呼び出し順序が継承順序と一致しなくなる可能性があり、予期せぬエラーが発生する可能性があります。

bannerAds