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