Ogarniam sobie podstawy dekoratorów i w przykładzie w poradniku jest cos takiego:
def decorator_fun(original_fun):
def wrapper_fun():
print("To sie wykona przed original")
return original_fun()
return wrapper_fun
@decorator_fun
def display():
print("funkcja original")
display()
i tak... z tego co rozumiem to za pomocą dekoratora możemy zmienić działanie funkcji bez jej bezpośredniej edycji,tak? Jednak nie rozumiem po co w tym przykładzie wrapper_fun()? Tzn czemu nie jest tak:
def decorator_fun(original_fun):
print("To sie wykona przed original")
return original_fun()
@decorator_fun
def display():
print("funkcja original")
display()
Dzieki za każdą odp.