Third
类是否可以继承First
类,以及Second
类的方法,除了 >__init__
第二类的方法?
class First(object):
def __init__(self):
super().__init__()
print("first")
def f1(self):
print("f1")
class Second(First):
def __init__(self):
super().__init__()
print("second")
def f2(self):
print("f2")
class Third(Second):
def __init__(self):
super().__init__()
print("third")
self.f1()
self.f2()
self.f3()
def f3(self):
print("f3")
Third()
当前输出
first
second
third
f1
f2
f3
期待输出
first
third
f1
f2
f3
最佳答案
Third
已经覆盖了 __init__
方法,因此您所要做的就是使用您要使用的 __init__
的显式类名而不是调用 super
。
# Inside Third.__init__
First.__init__(self)
关于python - 如何排除父类的__init__但包括父类的父类的__init__?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68817688/