python lambda表达式
本文内容纲要:
session=property(lambdaself:object_session(self))#记录已有的session,hold住一个数据传输通道
一、概述
lambda的一般形式是关键字lambda后面跟一个或多个参数,紧跟一个冒号,以后是一个表达式。lambda是一个表达式而不是一个语句。它能够出现在Python语法不允许def出现的地方。作为表达式,lambda返回一个值(即一个新的函数)。lambda用来编写简单的函数,而def用来处理更强大的任务。【1】
二、lambda的使用【1】
1、一般的形式
f=lambdax,y,z:x+y+z
printf(1,2,3)#6
2、lambda用来编写跳转表(jumptable)行为的列表或者字典,(个人理解应该就是矩阵matrix)吧
L=[lambdax:x+2,lambdax:x*2,lambdax:x**2]
print"L=",L[0](1),L[1](2),L[2](3)
#L=349
D={"d1":lambdax:x**1,"d2":lambdax:x**2,"d3":lambdax:x**3}
print"D=",D["d1"](2),D["d2"](2),D["d3"](2)
#D=248
写了一下这两个例子发现自己基础真是烂包
3、lambda的嵌套使用,从可读性角度来讲应该避免(看了例子深有感触,我有些懵)【2】
l=lambda:lambdax:x+5
b=l()
print"b=",b(2)
print"==",(l())(2)
#b=7
#==7
4、与map函数的比较
definc(x):
returnx+10
l=[1,2,3]
printmap(inc,l)
printmap(lambdax:x+10,l)
#[11,12,13]
#[11,12,13]
5、列表解析实现map功能并且更高效
6、以后全部是列表解析相关的示例------
--------41316--
参考链接:【1】、python学习12
【2】、python中lambda表达式学习
本文内容总结:
原文链接:https://www.cnblogs.com/mxh1099/p/5386529.html