functools wraps - Serbipunk/notes GitHub Wiki
https://stackoverflow.com/questions/308999/what-does-functools-wraps-do
from functools import wraps
def logged(func):
def with_logging(*args, **kwargs):
print(func.__name__ + "was called")
return func(*args, **kwargs)
return with_logging
@logged
def f(x):
return x + x*x
f(5)