Junior — Middle
Leg het concept van decorateurs in Python uit en hoe ze worden gebruikt om het gedrag van functies te veranderen.
sobes.tech AI
Antwoord van AI
Decorators in Python zijn functies die een andere functie aannemen en een nieuwe functie teruggeven met gewijzigd of uitgebreid gedrag, zonder de broncode van de gedecoreerde functie te veranderen.
Ze worden vaak gebruikt voor:
- Logging van oproepen
- Toegangscontrole
- Resultaten cachen
- Tijd meten van uitvoering
Een eenvoudig voorbeeld van een decorator die een bericht toont vóór en na het aanroepen van een functie:
def decorator(func):
def wrapper(*args, **kwargs):
print("Voor het aanroepen van de functie")
result = func(*args, **kwargs)
print("Na het aanroepen van de functie")
return result
return wrapper
@decorator
def zeg_hallo(naam):
print(f"Hallo, {naam}!")
zeg_hallo("Wereld")
De uitvoer zal zijn:
Voor het aanroepen van de functie
Hallo, Wereld!
Na het aanroepen van de functie
Op deze manier maken decorators het mogelijk om het gedrag van functies dynamisch te wijzigen zonder de broncode te veranderen.