def count():
def f(j):
# 这种为什么不行呢?
return lambda j: j * j
# 这种写法可以 return lambda x=j:x*j
fs = []
for i in range(1, 4):
fs.append(f(i)) # f(i)立刻被执行,因此i的当前值被传入f()
return fs
f1, f2, f3 = count()
print(f1())
print(f2())
看下一节匿名函数,表达方式是:return lambda: j * j
Sign in to make a reply
weiwei
def count():
def f(j):
# 这种为什么不行呢?
return lambda j: j * j
# 这种写法可以 return lambda x=j:x*j
fs = []
for i in range(1, 4):
fs.append(f(i)) # f(i)立刻被执行,因此i的当前值被传入f()
return fs
f1, f2, f3 = count()
print(f1())
print(f2())