为了账号安全,请及时绑定邮箱和手机立即绑定

实在看不明白,求指点555555555

def log(f):
    def fn(x):
        print 'call ' + f.__name__ + '()...'
        return f(x)
    return fn

def log(f):  定义一个log函数,接受函数f为参数(对么?)

def fn(x): 定义一个fn函数,以x为参数(对么?)(但是为啥叫fn呢?)但是为何返回的是 return f(X)呢?f(x)和 fn(x)有什么联系和区别?

最后又 return fn(x)了呢?


实在眩晕.....


正在回答

3 回答

也就是说 用返回f(x)的方法 来执行print 这一步,然后将得到的结果返给fn 最后给log(f),  这样理解对么

0 回复 有任何疑惑可以回复我~

首先定义一个函数fn来计算并返回f(x)的值,然后你新的函数就是用来返回 这个 返回f(x)值的函数的...

0 回复 有任何疑惑可以回复我~

log   fn  f  都是函数的名称,不用纠结,首先要明确的是fn函数是要把f函数的执行结果返回,log要把fn函数返回。的确是要多看几遍才能理解,如果某个地方返回了f  那么f传进log(f)又有什么意义,肯定是要把f执行了,再返回。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
python进阶
  • 参与学习       255665    人
  • 解答问题       2949    个

学习函数式、模块和面向对象编程,掌握Python高级程序设计

进入课程

实在看不明白,求指点555555555

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信