У меня есть класс, который является суперклассом для многих другие классы. Я хотел бы знать (в 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
Есть ли способ для суперкласса узнать, переопределил ли подкласс метод?