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

求大神解释下闭包思想在哪里

https://img1.sycdn.imooc.com//5b977e2b0001f4d603290209.jpg

https://img1.sycdn.imooc.com//5b977e2b0001282d03530272.jpg

求大神根据两段代码解释下闭包思想,感觉完全不清楚。两端代码只有4,5,6行有差异,其他基本上差不多



正在回答

2 回答

解释一下思想可以,这段代码这样写,执行不了吧

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

第一个代码段中,fs.append(f)中这个f是f函数的名称,该名称指向的是f函数的内存地址。你可以打印f1, f2和f3,你会发现打印出来的都是函数的地址,所以当调用f1的时候其实是调用了f函数,但此时f函数中的i已经变成了3。

在第二个代码段中,fs这个list中添加的是f(1),f(2)和f(3)。所以结果为1,4,9

1 回复 有任何疑惑可以回复我~
#1

超人TT

为什么fs.append(f)中的f函数不会直接被计算成为一个数值添加在fs上吖
2018-09-16 回复 有任何疑惑可以回复我~
#2

suarezxyw96 回复 超人TT

因为没有传参数进去,f这个函数跟不知道要计算的值是多少。
2018-09-17 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

求大神解释下闭包思想在哪里

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