当我直接 return 一个匿名函数的时候返回 0,2,4,6
def testFun():
return(lambda x : i*x for i in range(4))
for everyLambda in testFun():
print(everyLambda(2))
& python test.py
0
2
4
6
但是当我把匿名函数作为一个 temp 来返回的时候,结果却是 6,6,6,6
def testFun():
temp = [lambda x : i*x for i in range(4)]
return temp
for everyLambda in testFun():
print(everyLambda(2))
& python test.py
6
6
6
6
求大神解释解释,这是为什么呀,急求明天就要面试了好紧张
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.