1.问题描述
Python 有的时候只用到一个很简单的功能,类如如求和累加之类的,只用一行代码就可以搞定了。
2.解决方法
使用Lambda 方法,注意 lambda 表达式变量值问题
if __name__ == '__main__':
#简单的lambda 表达式
s1 = lambda x,y: x+y
print(s1(3,2))
#lambda 表达式的变量存储问题
x = 10
s1 = lambda y: x+y #此处 由于X 值没有通过参数传入.所以X 临时的值不会被保留, 只会去变量X 存储的最新值
x = 20
s2 = lambda y: x+y
print(s1(10))# 此处是 10+20 X 取的是最新值 20
print(s2(10))# 此处是 10+20 X 取的是最新值 20
x = 10
s1 = lambda y,x=x: x+y
x = 20
s2 = lambda y,x=x: x +y
print(s1(10)) # 10+10 通过传入变量X 获取X 最新值
print(s2(10)) # 10+20 通过传入变量X 获取X 最新值