Is the following a good idea, to determine whether a method was overridden with something "real" (and so is not more an "abstract" method which should not be called)?
Hm, I've realized that
class Base(object): def f(self): raise NotImplementedError() def hasF(self): return self.f != Base.f class Derived(Base): def f(self): passOr should I instead explicitly define
hasF()
?class Base(object): def f(self): raise NotImplementedError() def hasF(self): return False class Derived(Base): def f(self): pass def hasF(self): return True
Hm, I've realized that
self.f != Base.f
does not do what it should. How to check if a method was overridden?