Junior — Middle
Magyarázza el a dekorátorok fogalmát Pythonban, és hogyan használják a függvények viselkedésének megváltoztatására.
sobes.tech MI
Válasz az MI-től
A Python dekorátorok olyan függvények, amelyek egy másik függvényt fogadnak el, és egy új, módosított vagy kibővített viselkedésű függvényt adnak vissza, anélkül, hogy megváltoztatnák a dekorált függvény forráskódját.
Gyakran használják őket:
- Hívások naplózására
- Hozzáférési jogosultságok ellenőrzésére
- Eredmények gyorsítótárazására
- Végrehajtási idő mérésére
Egy egyszerű dekorátor példája, amely üzenetet ír ki a függvény hívása előtt és után:
def decorator(func):
def wrapper(*args, **kwargs):
print("A függvény hívása előtt")
result = func(*args, **kwargs)
print("A függvény hívása után")
return result
return wrapper
@decorator
def say_hello(name):
print(f"Szia, {name}!")
say_hello("Világ")
A kimenet így fog kinézni:
A függvény hívása előtt
Szia, Világ!
A függvény hívása után
Így a dekorátorok lehetővé teszik a függvények viselkedésének dinamikus módosítását anélkül, hogy megváltoztatnák azok forráskódját.