Middle+
Mi az a dekorátor gyár?
sobes.tech MI
Válasz az MI-től
A dekorátorgyár egy olyan függvény, amely egy dekorátort ad vissza. Argumentumokat fogad a visszakapott dekorátor viselkedésének beállításához. Ez lehetővé teszi újrafelhasználható dekorátorok létrehozását különböző viselkedéssel a megadott paraméterektől függően.
# Dekorátorgyár függvény
def my_decorator_factory(prefix):
# Belső függvény (dekorátor), amely elfogadja a dekorálandó függvényt
def my_decorator(func):
# Egy másik belső függvény (burkoló), amely tartalmazza a dekorátor logikáját
def wrapper(*args, **kwargs):
print(f"{prefix}: A függvény hívása előtt")
result = func(*args, **kwargs)
print(f"{prefix}: A függvény hívása után")
return result
return wrapper
return my_decorator
# A gyár használata különböző prefixekkel rendelkező dekorátorok létrehozásához
@my_decorator_factory("DEBUG")
def some_function():
print("some_function futtatása")
@my_decorator_factory("INFO")
def another_function(x, y):
print(f"another_function futtatása argumentumokkal {x}, {y}")
return x + y
some_function()
result = another_function(5, 10)
print(f"Eredmény: {result}")
Fő lépések:
- Egy külső függvény (gyár) van definiálva paraméterekkel.
- A gyár belsejében egy dekorátor függvény van definiálva, amely elfogadja a dekorálandó függvényt.
- A dekorátor függvényen belül egy wrapper függvény van definiálva, amely tartalmazza a dekorátor logikáját, és használhatja a gyár paramétereit és a dekorálandó függvény argumentumait.
- A dekorátor függvény visszaadja a wrapper függvényt.
- A gyár visszaadja a dekorátor függvényt.
Ez hasznos rugalmas és konfigurálható dekorátorok létrehozásához.