print(lambda x: x * 2)
# <function <lambda> at 0x00000000005D3E18>
# 输出为内存地址,为了能够执行,须要赋值给一个变量,再在后面加个括号
func = lambda x: x * 2
print(func(10))
# 或许能够简化以下。。。
print((lambda x: x * 2)(10))
# 多个返回值时,要用括号括起来
func = lambda x, y, z: (x + 1, y + 1, z + 1)
print(func(1, 2, 3))
---------------------------------------------
由于lambda是一个表达式,因此在python语言中能够出如今def语句所不能出现的位置上;
lambda与def语句相比较,后者必须在一开始就要将新函数命名;而前者返回一个新函数,能够有选择性的赋值变量名。python
lambda与普通函数function定义方法来比较它的功能更小,它只是一个为简单函数所服务的对象,而def能处理更大型的数据任务。函数
用python学习手册中的一段话来回答这个问题很是好“lambda有起到速写函数的做用,容许在使用的代码内嵌入一个函数的定义。在仅须要嵌入一小段可执行代码的状况 下,就能够带来更简洁的代码结构。”lambda的使用在python基础知识学习中就会遇到,但真正应用时仍是在python进阶的阶段,这时须要你作更深刻学习。学习