Python中子類怎樣調用父類方法

字號:


    python中類的初始化方法是__init__(),因此父類子類的初始化方法都是這個,如果子類不實現這個函數,初始化時調用父類的初始化函數,如果子類實現這個函數,就覆蓋了父類的這個函數,既然繼承父類,就要在這個函數里顯式調用一下父類的__init__(),這跟C++,jAVA不一樣,他們是自動調用父類初始化函數的。
    調用父類函數有以下方法:
    class A:
    def method(self, arg):
    pass
    class B(A):
    def method(self, arg):
    # A.method(self,arg) # 1
    # super(B, self).method(arg) #2
    super().method(arg) #3
    1.直接寫類名調用
    2.用 super(type, obj).method(arg)方法調用。
    3.在類定義中調用本類的父類方法,可以直接 super().method(arg).
    在代碼中調用對象的父類的方法的示例:
    ob = B()
    super(B,ob).method(arg) #調用class B的父類class A的method。
    初始化中調用父類初始化方法示例:
    class B(A):
    def __init__(self):
    super().__init__()