Junior — Middle
El tudná magyarázni, hogy mi az a dekorátor osztálymódszerekhez Pythonban?
sobes.tech MI
Válasz az MI-től
A Python osztálymódszereihez tartozó dekorátor egy olyan függvény, amely elfogad egy osztálymódszert, és visszaad egy módosított változatát ennek a módszernek. Lehetővé teszi, hogy további viselkedést adjunk hozzá a módszerhez anélkül, hogy megváltoztatnánk a forráskódját.
Például, használhatunk dekorátort a módszer hívásainak naplózására, hozzáférési jogok ellenőrzésére vagy eredmények gyorsítótárazására.
Egyszerű példa egy osztálymódszer dekorátorra:
class SajátOsztály:
def dekorátor(func):
def wrapper(self, *args, **kwargs):
print(f"{func.__name__} módszer hívása")
return func(self, *args, **kwargs)
return wrapper
@dekorátor
def módszer(self, x):
return x * 2
obj = SajátOsztály()
print(obj.módszer(5)) # Üzenetet és eredményt, 10-et fog kiírni
Itt, a @dekorátor körülveszi a módszer metódust, és extra kimenetet ad hozzá a híváskor.