[toc]
python基础十七 匿名函数
1. 定义
示例:给函数传两个参数并计算和
f = lambda a,b:a+b
其中 a,b表示形参,可以传多个,冒号后边的表示函数体中要执行的代码
2. lambda函数简单示例说明
//代码示例 给函数传两个参数并计算和
普通函数写法
def func(a,b):
c = a + b
return c
print(func(1,2))
3
匿名函数写法1
f = lambda a,b:a+b
print(f(1,2))
3
匿名函数写法2
print((lambda a,b:a+b)(1,2))
3
3. lambda函数与普通函数对比说明
普通函数写法
def func(a,b):
c = a + b
return c
print(func(1,2))
匿名函数写法
print((lambda a,b:a+b)(1,2))
1.lambda和def是一样的
2.lambda中的 a,b 和def中的(a,b)是一样的
3.lambda中的 a+b 和def中的 return a + b 是一样的
4.lambda中a,b是形参,a+b是返回值,即冒号前边的是形参,冒号后边的返回值
形参:可以接受位置参数、动态位置参数、默认参数、动态关键字参数
返回值:只能返回一个数据,如果想返回多个数据,需要用()括起来
4. 匿名函数风骚走位
4.1 lambda+列表
示例1
//示例1 这种写法结果是3个函数地址
print([lambda i:i+1 for i in range(3)])
[<function <listcomp>.<lambda> at 0x7f9bf0068620>, <function <listcomp>.<lambda> at 0x7f9bf00681e0>, <function <listcomp>.<lambda> at 0x7f9bf0068048>]