-
Notifications
You must be signed in to change notification settings - Fork 2
2.3.4 Decorators
Patrick edited this page Nov 18, 2024
·
4 revisions
Ein Decorator in Python ist eine spezielle Funktion, die andere Funktionen oder Methoden modifiziert oder erweitert, ohne deren Definition direkt zu ändern. Decoratoren sind nützlich, um wiederverwendbare Funktionalitäten hinzuzufügen, wie z.B. Logging, Zugriffskontrolle oder Timing von Funktionen.
Decorators sind eher fortgeschritten und man würde selten Decorators schreiben, aber es gibt Bibliotheken wie dataclasses und Numba, die Decorators benutzen.
Man kann die Ausgabe schön formatieren.
def mittelwert(*args):
return sum(args) / len(args)def prettier(func):
def wrapper(*args):
print('From prettier...')
output = func(*args)
print(f'Der {func.__name__} ist {output}.')
return output
return wrapperMessen Sie Funktionen mit einem Decorator.
import time
def log_time(func):
def wrapper(*args, **kwargs):
start_time = time.time()
result = func(*args, **kwargs)
end_time = time.time()
print(f"{func.__name__} dauerte {end_time - start_time} Sekunden")
return result
return wrapper
@log_time
def slow_function():
time.sleep(2)
print("Funktion beendet")
slow_function()Als Nächstes: Objektorientiertes Programmieren ➡️
HTW Berlin Pytorium
ein Python Tutorium für alle, die sich für Python interessieren