Python: Dekorieren einer Klassenmethode, die beim Vererben überschrieben werden soll

Angenommen, ich habe eine Basisklasse:

class Task:
    def run(self):
        #override this!

Jetzt möchte ich, dass andere Task unterordnen und die run () -Methode überschreiben:

class MyTask(Task):
    def run(self):
        #successful override!

Das Problem besteht jedoch darin, dass vor und nach der run () -Methode jeder Klasse, die eine Unterklasse von Task bildet, Logik stattfinden muss.

Eine Möglichkeit, dies zu tun, scheint darin zu bestehen, eine andere Methode in der Basisklasse zu definieren, die dann die run () -Methode aufruft. Allerdings wollte ich fragen, gibt es eine Möglichkeit, dies mit Dekorateuren zu erreichen? Was wäre die pythonischste Art, dies zu tun?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage