Was macht das Symbol "at" (@) in Python?
In Python wird das Symbol "@" verwendet, um eine Funktion zu dekorieren. Ein Dekorator ist ein Designmuster in Python, mit dem das Verhalten einer Funktion oder Klasse ohne Änderung ihres Codes modifiziert werden kann. Hier ist ein Beispiel für einen Dekorator in Python:
def my_decorator(func):
def wrapper():
print("Etwas passiert, bevor die Funktion aufgerufen wird.")
func()
print("Etwas passiert, nachdem die Funktion aufgerufen wurde.")
return wrapper
@my_decorator
def say_hello():
print("Hallo!")
say_hello()
In diesem Beispiel ist die Funktion my_decorator
ein Dekorator. Es nimmt eine Funktion als Argument, definiert eine neue Funktion wrapper
, die etwas vor und nach dem Aufruf der ursprünglichen Funktion tut, und gibt die neue Funktion zurück. Die Zeile @my_decorator
über der Funktion say_hello
ist die Syntax des Dekorators, die Python sagt, dass die Funktion my_decorator
als Dekorator auf die Funktion say_hello
angewendet werden soll. Wenn Sie say_hello()
aufrufen, wird zunächst der Code in der Funktion wrapper
ausgeführt, dann die Funktion say_hello
aufgerufen und anschließend der Code in der Funktion wrapper
erneut ausgeführt.