Decorators i Python
Decorators i Python
Decorators er en kraftfuld funktion i Python, der tillader dig at modificere eller udvide funktionaliteten af andre funktioner uden at ændre deres kildekode direkte. De bruger konceptet med “funktioner, der tager en funktion som argument og returnerer en anden funktion”.
Her er et eksempel på en simpel decorator, der logger kaldet til en funktion:
def logger_decorator(func):
def wrapper(*args, **kwargs):
print(f"Kald til funktionen: {func.__name__}")
return func(*args, **kwargs)
return wrapper
@logger_decorator
def say_hello():
print("Hej verden!")
say_hello()
Output:
Kald til funktionen: say_hello
Hej verden!
I dette eksempel tager logger_decorator en funktion som argument og returnerer en wrapper-funktion, der tilføjer ekstra funktionalitet, før og efter den oprindelige funktion (say_hello) bliver kaldt.
Decorators er nyttige til opgaver som logning, autentificering, måling af ydelse og meget mere. De giver dig mulighed for at ændre adfærd og udvide funktionaliteten af dine funktioner på en elegant måde.