课程
/后端开发
/Python
/python进阶
如上!!!!!
2019-10-30
源自:python进阶 2-9
正在回答
j是函数f()的位置参数, 在调用f()的时候传入的 i 就是函数f()内部变量 j 的值
闭包的关键点是确保引用的局部变量在函数返回后不能变,
所以在2-9中,我们在for循环内部定义了i, 还定义了方法f(j)
然后我们在调用f()方法并传入i,此时j就获得i传递过来的值了
希望对你用帮助
def count():
fs = []
for i in range(1, 4):
def f(j):
def g():
return j*j
return g
r=f(i)
fs.append(r)
return fs
f1, f2, f3 = count()
print f1(), f2(), f3()
举报
学习函数式、模块和面向对象编程,掌握Python高级程序设计