Python-Dekorateure im Unterricht

Kann man so etwas schreiben wie:

class Test(object):
    def _decorator(self, foo):
        foo()

    @self._decorator
    def bar(self):
        pass

Dies schlägt fehl: self in @self ist unbekannt

Ich habe auch versucht:

@Test._decorator(self)

was auch fehlschlägt: Test unbekannt

Ich möchte vorübergehend einige Instanzvariablen im Decorator ändern und dann die decorated-Methode ausführen, bevor ich sie zurück ändere.

Antworten auf die Frage(9)

Ihre Antwort auf die Frage