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