python sys库,python sys用法
现在,我们使用两个代码来比较添加换行,然后比较函数打印的结果。
新文件名:Testword
不要安装代码包装装饰器
#编码=utf-8
从functools导入包装
efmy_decorator(func):
EFwrapper(*Args,**kwargs)):
""解码器" "
打印(装饰功能)
returnfunc(*Args,**kwargs)))))))))return func(* Args,* * kwargs))
返回包装
@my_decorator
定义测试() :
""测试世界" "
测试功能)。
打印(测试。_ _ name _,test。__doc__))
打印结果:
浏览器解码器
[0.1秒内完成]
在放入代码包装函数之后
从functools导入包装
efmy_decorator(func):
@wraps(func)
EFwrapper(*Args,**kwargs)):
""解码器" "
打印(装饰功能)
returnfunc(*Args,**kwargs)))))))))return func(* Args,* * kwargs))
返回包装
@my_decorator
定义测试() :
""测试世界" "
测试功能)。
打印(测试。_ _ name _,test。__doc__))
打印结果:
测试测试字
[0.1秒内完成]
总结:
因为用装饰器装饰一个函数的时候,这个函数本身已经是一个新函数了;也就是说,函数的名称和属性已经更改。所以python的functools模块提供了wraps装饰函数,这样在使用装饰时,原函数不会改变其函数名和属性。
所以建议在装修者的制作中加入包装器,避免装修者造成的装修功能异常。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。