Sobes.tech
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.