""" 这个m 遍历那个匿名函数每一次遍历到最后都是最大值3,m 括号里面的2是传给x 的实参 双循环打断了,m每次进去出来都取了最后一次的3。 m是匿名函数,可以理解为m=[lambda x : x *i for i in range(4)] 循环4次,每一次都取了0123最后的3 那个匿名函数中有循环。i 是0 1 2 3 m 进去后开始遍历 0进去3出来 因为m 遍历的是函数本身 函数有0 1 2 3 个个元素,m 本身也会进去4次。每一次都取个3出来 """ def fun(): list1=[] for i in range(4): def fun1(x): print(i) return x*i list1.append(fun1) return list1 a = fun() print(a[0](2)) def func2(): return [lambda x:x*i for i in range(4)] # print(func2()) print([m(2) for m in func2()])