У меня есть класс, который является суперклассом для многих других классов. Я хотел бы знать (в init() моего суперкласса, если подкласс переопределил конкретный метод.
Я попытался выполнить это с помощью метода класса, но результаты были неправильными:
class Super:
def __init__(self):
if self.method == Super.method:
print 'same'
else:
print 'different'
@classmethod
def method(cls):
pass
class Sub1(Super):
def method(self):
print 'hi'
class Sub2(Super):
pass
Super() # should be same
Sub1() # should be different
Sub2() # should be same
>>> same
>>> different
>>> different
Есть ли способ суперкласса узнать, переопределил ли подкласс класс?