Если я сделаю следующее
def mydecorator(f):
def wrapper(*args, **kwargs):
f(*args, **kwargs)
wrapper.__doc__ = f.__doc__
wrapper.__name__ = f.__name__
return wrapper
@mydecorator
def myfunction(a,b,c):
'''My docstring'''
pass
И затем введите help myfunction
, я получаю:
Help on function myfunction in module __main__:
myfunction(*args, **kwargs)
My docstring
Итак, имя и docstring правильно скопированы. Есть ли способ также скопировать фактическую подпись вызова, в этом случае (a, b, c)
?