课程
/后端开发
/Python
/python进阶
如何理解:
@functools.wraps(f)
2017-07-14
源自:python进阶 2-14
正在回答
没明白你的意思?
语法糖指的是一种简便的写法吧
@log中,@是装饰器,log是函数
个人理解是,就和介绍一样,如果不加@functools.wraps(f) 装饰的话,把log装饰器用函数来写的话,是这样的, log(f2())
加装饰器的f2.__name__ 其实等于不加装饰器的log(f2()).__name__ 这其中最后调用的是log函数中的wrapper函数,返回的属性其实是这个函数的。
但是明明想要是的f2的属性,为了解决这个问题,所以内置一个functools的函数来复制属性。
zeroandzoro 提问者
举报
学习函数式、模块和面向对象编程,掌握Python高级程序设计
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号