课程
/后端开发
/Python
/python进阶
在执行print f1(),f2(),f3()时,j不也是已经变成3了吗
2018-07-19
源自:python进阶 2-9
正在回答
不是的哦,实例里的闭包函数为什么i已经变成3,那是调用count()时,里面的f()函数已经执行完毕,而问答中的f()为什么能够一个一个执行变成1,4,9这样的结果,是因为f()返回的是函数而不是结果,所以在调用count()时,f()函数处于未执行状态。区别就在这两个地方:
好好看看哪个方法,他是一个一个执行的
举报
学习函数式、模块和面向对象编程,掌握Python高级程序设计