|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
铁汁们,看了结果大概知道是将a,b形参带入到opt(a,b),但是不理解呀
不理解print("result = %s" % opt(a,b)) 的这个opt(a,b)
- def fun(a,b,opt):
- print("a = %s" % a)
- print("b = %s" % b)
- print("result = %s" % opt(a,b))
- fun(1,2,lambda x,y:x+y)
复制代码
结果为:
a = 1
b = 2
result = 3
因为你的 opt 参数被设置为一个匿名函数:lambda x,y:x+y
这个匿名函数可以看成这样:
所以此时就可以看成这样 fun(1,2,opt) 传入的 a、b 参数分别为 a=1,b=2
然后在最后一个 print 函数中因为 opt(a,b) 这个函数调用后返回的是 opt(a,b) 函数执行的结果
也就是 opt(1,2) 函数执行后的结果,且结果为 3,所以这里的 print("result = %s" % opt(a,b)) 就等价于 print("result = %s" % 3)
|
|