Decorators
Leer hoe u decorators gebruikt om functies aan te passen of uit te breiden.
Decorators is een gratis Leer AI met Python-les op CoddyKit. Dit is les 1 van 5. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Leer AI met Python. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Leer AI met Python bevat in totaal 5 lessen.
Inleiding tot decorators
Decorators zijn een krachtige functie in Python waarmee je het gedrag van functies of methoden kunt aanpassen. Ze worden vaak gebruikt om functionaliteit aan functies toe te voegen zonder hun code aan te passen.
In deze les leer je wat decorators zijn, hoe je ze gebruikt en hoe je zelf decorators maakt.

Wat is een decorator?
Een decorator is een functie die een andere functie als invoer neemt en een nieuwe functie met extra functionaliteit retourneert. Je gebruikt een decorator vaak met de syntaxis @decorator_name.
# Basic example of a decorator
def decorator(func):
def wrapper():
print("Before the function call")
func()
print("After the function call")
return wrapper
@decorator
def say_hello():
print("Hello!")
say_hello()Hoe decorators werken
Wanneer je een decorator gebruikt, vervangt Python de oorspronkelijke functie door de wrapperfunctie die door de decorator wordt geretourneerd.
# How decorators work
def decorator(func):
def wrapper():
print("Wrapper called")
func()
return wrapper
@decorator
def greet():
print("Greetings!")
print(greet.__name__) # Outputs: wrapper
greet()Decorators met argumenten gebruiken
Decorators kunnen werken met functies die argumenten accepteren door *args en **kwargs in de wrapperfunctie te gebruiken:
# Decorator for functions with arguments
def decorator(func):
def wrapper(*args, **kwargs):
print(f"Arguments: {args}, {kwargs}")
return func(*args, **kwargs)
return wrapper
@decorator
def add(a, b):
return a + b
print(add(3, 5))Meerdere decorators koppelen
Je kunt meerdere decorators op één functie gebruiken. Ze worden toegepast in de volgorde waarin ze staan, van boven naar beneden:
# Chaining multiple decorators
def decorator1(func):
def wrapper():
print("Decorator 1")
func()
return wrapper
def decorator2(func):
def wrapper():
print("Decorator 2")
func()
return wrapper
@decorator1
@decorator2
def greet():
print("Hello!")
greet()Decorateurs met parameters maken
Decorateurs met parameters nemen argumenten aan en bieden daardoor flexibelere functionaliteit:
# Parameterized decorator
def repeat(times):
def decorator(func):
def wrapper(*args, **kwargs):
for _ in range(times):
func(*args, **kwargs)
return wrapper
return decorator
@repeat(3)
def say_hello():
print("Hello!")
say_hello()Veelgebruikte toepassingen van decorateurs
Decorateurs worden vaak gebruikt voor:
- Het bijhouden van functieaanroepen en hun argumenten.
- Het meten van de uitvoeringstijd van functies.
- Toegangscontrole, bijvoorbeeld het controleren van gebruikersrechten.
- Het cachen van resultaten om de prestaties te verbeteren.
Ingebouwde decorateurs in Python
Python bevat enkele ingebouwde decorateurs, waaronder:
@staticmethod: Definieert een statische methode.@classmethod: Definieert een klassemethode.@property: Definieert een eigenschapsmethode.
Veelgemaakte fouten met decorators
Hier zijn enkele fouten die je moet vermijden:
- De naam en docstring van de oorspronkelijke functie niet behouden (gebruik
functools.wraps). - Decorators onnodig gebruiken voor eenvoudige taken.
- Vergeten om argumenten in de wrapperfunctie af te handelen.
Wat hebben we geleerd?
In deze les heb je het volgende geleerd:
- Wat decoratoren zijn en hoe ze werken in Python.
- Hoe je eenvoudige, geparametriseerde en gekoppelde decoratoren maakt en gebruikt.
- Veelvoorkomende toepassingen en ingebouwde decoratoren in Python.
Goed gedaan! Laten we naar het volgende onderwerp gaan.

Leer Python met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 53
- Lessen
- 225
Veelgestelde vragen
Is de les “Decorators” gratis?
Ja — je kunt hier op het web alle 3 lessen van het leerpad Leer AI met Python, waaronder “Decorators”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Leer AI met Python bevat in totaal 5 lessen.
Wat leer ik in “Decorators”?
Leer hoe u decorators gebruikt om functies aan te passen of uit te breiden. Je oefent met Leer AI met Python door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Leer AI met Python te beginnen?
Ervaring vooraf is niet nodig. Leer AI met Python op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 1 van 5.
Hoe lang duurt de les “Decorators”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Leer AI met Python?
Ja. Elke les over Leer AI met Python bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Decorators
- Generators
- Contextmanagers (with-instructies)
- Comprehensions (lijst, set en dictionary)
- Iterators en iterables