Есть класс и метод:
class Test(object):
def do(self):
# do something
# do something else
И есть наследник этого класса
class Test2(Test):
def do(self):
# do something other
Но при этом мне нужно чтобы код # do something else из метода do класса Test, выполнился после выполнения do класса Test2. Это можно как-то прозрачно сделать с помощью декоратора или менеджера контекста? так чтобы можно было разные классы-наследники создавать от класса Test, и при вызове их метода do, после его выполнения выполнялся код # do something else.
Может во время инициализации объекта класса Test2 как-то динамически из конструктора Test оборачивать метод do в контекстный менеджер?