python学习:匿名函数
Python 函数
lambda
匿名函数
-lambda 函数是一种快速定义单行的最小函数,可以用在任何需要函数的地方。
def fun(x,y):
return x*y
fun(2,3)
r=lambda x,y:x*y
r(2,3)
In [10]: def fun(x,y):
....: return x * y
....:
In [11]: fun(3,5)
Out[11]: 15
In [12]: lambda x, y:x * y
Out[12]: <function __main__.<lambda>>
In [13]: r = lambda x, y:x * y
In [14]: r
Out[14]: <function __main__.<lambda>>
In [15]: r(3,5)
Out[15]: 15
匿名函数优点:
1.使用python写一些脚本时,使用lambda可以省去定义函数的过程,让代码更加简洁。
2.对于一些抽象的,不会被别的地方再重复使用的函数,有时候函数起个名字也是个难题,使用lambda不需要考虑命名的问题。
3.使用lambda在某些时候让代码更容易理解。
lambda基础
lambda语句中,冒号前是参数,可以有多个,逗号隔开,冒号右边是返回值。
lambda语句构建的其实是一个函数对象
In [1]: def add(x, y):
...: return x + y
...:
In [3]: reduce(add,range(1,101))
Out[3]: 5050
In [4]: reduce(lambda x, y:x + y, range(1,101))
Out[4]: 5050
In [5]: reduce(lambda x, y:x* y, range(1,6))
Out[5]: 120 求阶层
匿名函数不需要函数名