炫意html5
最早CSS3和HTML5移动技术网站之一

Python小白求解答

flist = []
for i in range(3):
def foo(x): 
    print (x + i ) flist.append(foo) for f in flist: f(2)
1、f(2)含义
2、看解释是说是因为当把函数加入flist列表里时,python还没有给i赋值,
只有当执行时,再去找i的值是什么,这时在第一个for循环结束以后,i的值是2,
所以以上代码的执行结果是4,4,4,没有看明白

回答

flist.append(lambda x:print(x+0))
flist.append(lambda x:print(x+1))
flist.append(lambda x:print(x+2))
for f in flist:
    f(2)

>>> 2 3 4

炫意HTML5 » Python小白求解答

Java基础教程Android基础教程