lambda语句与匿名函数

一、通过lambda语句创建匿名函数

>>> def fun1(x):
	return x * 2 + 1

>>> lambda x:x * 2 + 1
<function <lambda> at 0x000000F732724400>
>>> g = lambda x:x * 2 + 1
>>> g(5)
11

#lambda语法是 lambda [函数参数]:[函数返回值]

匿名函数有个限制,就是只能有一个表达式

把匿名函数赋值给一个变量,再利用变量来调用该函数,比如上例中的 g 。当函数不在使用时,python的辣鸡清理机制会自动清除它。 

再来看两个参数的例子

>>> add(1,2)
1 + 2 = 3

>>> lambda x,y:print(x,'+',y,'=',x+y)
<function <lambda> at 0x000000F73272D488>

>>> g = lambda x,y:print(x,'+',y,'=',x+y)
>>> g(2,3)
2 + 3 = 5

尝试使用lambda定义更加多样化的函数,但是不要违背语句初衷

 

二、lambda语句与匿名函数的作用

  • 省去定义函数的过程,使代码更精简
  • 对于一些只需要使用几次的函数,不需另外想名字起名字
  • 简化代码的可读性

 

posted @ 2016-03-10 22:34  林间  阅读(345)  评论(0编辑  收藏  举报