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))
|
|||
|
|