Junior — Middle
Kunt u uitleggen wat een decorator voor klasse-methoden in Python is?
sobes.tech AI
Antwoord van AI
Een decorator voor klasse-methoden in Python is een functie die een klasse-methode aanneemt en een gewijzigde versie van die methode retourneert. Het stelt je in staat om extra gedrag aan de methode toe te voegen zonder de broncode te wijzigen.
Bijvoorbeeld, je kunt een decorator gebruiken voor het loggen van methode-aanroepen, het controleren van toegangsrechten of het cachen van resultaten.
Voorbeeld van een eenvoudige decorator voor een klasse-methode:
class MijnKlasse:
def decorator(func):
def wrapper(self, *args, **kwargs):
print(f"Aanroep van methode {func.__name__}")
return func(self, *args, **kwargs)
return wrapper
@decorator
def methode(self, x):
return x * 2
obj = MijnKlasse()
print(obj.methode(5)) # Toont een bericht en het resultaat 10
Hier omhult @decorator de methode methode, en voegt extra output toe bij het aanroepen.