课程
/后端开发
/Python
/python进阶
学晕了,不知道这个程序什么意思,还有fs是什么意思?
2016-05-06
源自:python进阶 2-9
正在回答
def count(): # 外层函数 fs = [] # 定义一个list列表fs for i in range(1, 4): def f(j): # 借助f函数,避免使用外层函数的循环变量 def g(): # 内层函数 return j*j return g # 返回内层函数 r = f(i) # 调用f函数,返回一个值 fs.append(r) #将值加入到列表中 return fs # 返回列表 f1, f2, f3 = count() print f1(), f2(), f3()
stefan71
String大写执行完毕后就是新赋予的值了。
还能再详细点么
侠客岛的含笑
fs是空的list,这个程序其实就是一个闭包,由于闭包不能使用外层函数的循环变量,因此需要把循环变量调到闭包之外使用
举报
学习函数式、模块和面向对象编程,掌握Python高级程序设计