31 lines
681 B
Python
31 lines
681 B
Python
|
||
|
||
|
||
if __name__ == "__main__":
|
||
# lambda函数中的变量如果被赋值了是可以动态修改的,只要在每次调用之前修改,就能实现变化
|
||
x = 1
|
||
a = lambda y: x + y
|
||
print(a(10))
|
||
x = x + 9
|
||
print(a(10))
|
||
|
||
x = x + 10
|
||
print(a(10))
|
||
|
||
|
||
# 如果你希望和正常函数一样在定义的时候绑死变量的值,那么你需要这样做
|
||
b = lambda y, t=x: t + y
|
||
print(b(10))
|
||
x = x-1
|
||
print(b(10))
|
||
|
||
# 比如有个比较聪明的函数
|
||
func = [lambda x : x + n for n in range(5)]
|
||
for f in func:
|
||
print(f(0))
|
||
|
||
func2 = [lambda x, n=n: x + n for n in range(5)]
|
||
for f in func2:
|
||
print(f(0))
|
||
|