2020
10-09
10-09
Python如何创建装饰器时保留函数元信息
问题你写了一个装饰器作用在某个函数上,但是这个函数的重要的元信息比如名字、文档字符串、注解和参数签名都丢失了。解决方案任何时候你定义装饰器的时候,都应该使用functools库中的@wraps装饰器来注解底层包装函数。例如:importtimefromfunctoolsimportwrapsdeftimethis(func):'''Decoratorthatreportstheexecutiontime.'''@wraps(func)defwrapper(*args,**kwargs):start=time.time()resu...
继续阅读 >