课程
/后端开发
/Python
/python进阶
为什么r=f(i),而不是r=f(j)呢?count()和f()也属于闭包吗?
2020-07-24
源自:python进阶 2-9
正在回答
j和i本身没有什么联系吧,j只是一个形参,i的话是一个循环变量。
如果r=f(i)的话,f1()、f2()、f3()又会变得返回值全是9了。那给f()多加了一个形参j,并且在内部定义一个新函数g()的这一波操作,就没有意义了。
引用了外层函数的变量(参数也算变量),然后返回内层函数的情况,称为闭包(Closure)。所以我认为起码count()应该不属于闭包,因为没有返回内层函数,f()的话我不确定...
举报
学习函数式、模块和面向对象编程,掌握Python高级程序设计