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                求阶层
 
匿名函数不需要函数名
 
posted @ 2017-09-14 09:51  Oops!#  阅读(212)  评论(0编辑  收藏  举报