【发布时间】:2020-04-06 04:00:12
【问题描述】:
我希望能够检查子类是否覆盖了方法。例如,
class Foo:
def __init__(self):
# Is there something following this sort of spec?
print("overridden" if self.bar != Foo.bar else "not overridden")
def bar(self):
return 0
覆盖bar 的继承方法可能是:
class Kung(Foo):
def __init__(self):
super(Kung, self).__init__()
def bar(self):
return 1
在这种情况下,Kung() 应该打印“覆盖”,但 Foo() 应该打印“未覆盖”。
我可以检查bar 是否在Foo 的__init__ 中被覆盖而不检查返回值吗?
【问题讨论】:
标签: python inheritance overriding introspection