好像懂了一点
def count():
fs = []
for i in range(1, 4):
def f():
return i*i
fs.append(f)
return fs
f1, f2, f3 = count()
print f1()
print f2()
print f3()
仔细地看了一下,fs.append(f)里面的f是一个函数,且未被执行。所以里面的函数式i*i.因此,f1,f2,f3被执行以后都是i*i。count()也会把i传值给他们。经过变化,i=3.故都是9
def count():
fs = []
for i in range(1, 4):
def f():
return i*i
fs.append(f)
return fs
f1, f2, f3 = count()
print f1()
print f2()
print f3()
仔细地看了一下,fs.append(f)里面的f是一个函数,且未被执行。所以里面的函数式i*i.因此,f1,f2,f3被执行以后都是i*i。count()也会把i传值给他们。经过变化,i=3.故都是9
2015-03-27
举报