- 定义函数
def count():
fs = []
for i in range(1, 4):
def f():
return i*i
fs.append(f)
print(i)
return fs
运行结果 第一个3即是i的值,由于返回的函数并没有立刻执行,而是直到调用了f()才执行,所以都是9
1.如果一定要引用循环的变量 每一次循环append就发f(i),i =1相当于运行了f(1),2相当于运行了f(2)……
def count():
def f(j):
def g():
return j*j
return g
fs = []
for i in range(1, 4):
fs.append(f(i))
return fs
- 循环中 append对应添加的函数分别 如下:
#循环第一次 append(f(1)) 返回函数如下
def g():
return 1*1
return g
#循环第二次 append(f(2)) 返回函数如下
def g():
return 2*2
return g
#循环第三次 append(f(3)) 返回函数如下
def g():
return 3*3
return g
- 运行结果