Michele
Simionato的装饰器模块具有一个称为decorator的装饰器,该装饰器保留了功能argspecs。
import inspectimport decoratordef func(f1, kw='default'): passbare_argspec = inspect.getargspec(func)print(bare_argspec)# ArgSpec(args=['f1', 'kw'], varargs=None, keywords=None, defaults=('default',))@decorator.decoratordef mydecorator(func,*args,**kw): result=func(*args,**kw) return result@mydecoratordef func2(f1, kw='default'): passdecorated_argspec = inspect.getargspec(func2)print(decorated_argspec)# ArgSpec(args=['f1', 'kw'], varargs=None, keywords=None, defaults=('default',))assert(bare_argspec==decorated_argspec)


