课程
/后端开发
/Python
/python进阶
不应该返回值只有fx才对吗?
2019-02-26
源自:python进阶 2-12
正在回答
def log(f): def fn(x): print 'call ' + f.__name__ + '()...' return f(x) return fn
以上代码定义一个装饰器log(f)。当常规方法前面有装饰器符号@的时候,调用此方法。
调用时,先定义一个常规函数的高阶函数(line 2 - line 4),并返回此高阶函数(line 5)。
执行返回的高阶函数,进入其内部(line 3 - line 4),执行print动作(line 3),并执行原函数(line 4)。
weixin_慕工程8144775 提问者
看不懂你在问什么……请附必要的图或代码
举报
学习函数式、模块和面向对象编程,掌握Python高级程序设计