符合 跳过父类 调用爷类的方法
class A(object):
def foo(self):
print("A的foo")
class B(A):
def foo(self):
print("B的foo")
class C(B):
def foo(self):
# 在 这里 想调用爷类方法
super().foo()
V = C()
V.foo()
我试过 super().super().foo() 不行
A.foo() 可以 但是维护成本高 有没有像super() 一样 方便找到爷类方法的 代码?
class A(object):
def foo(self):
print("A的foo")
class B(A):
def foo(self):
print("B的foo")
class C(B):
def foo(self):
super(B, self).foo()
V = C()
V.foo()
不知道你这个问题是否已经解决, 如果还没有解决的话:你可以使用 super()
函数来调用爷类的方法。 super()
用于调用父类(或祖父类)的方法,不需要显式地指定父类的名字。
下面是将该方法应用到你的代码的示例:
class A(object):
def foo(self):
print("A的foo")
class B(A):
def foo(self):
print("B的foo")
class C(B):
def foo(self):
super(B, self).foo() # 调用父类B的方法
V = C()
V.foo()
这将输出:
A的foo
在 C
类的 foo
方法中,我们使用 super(B, self).foo()
调用了父类 B
的 foo
方法,它继而调用了爷类 A
的 foo
方法。