python基础教程之匿名函数lambda

yipeiwu_com6年前Python基础

 python lambda

当我们在使用函数时,有时候,并不需要显示的定义一个函数,我们可以使用匿名函数更加方便,在Python中对匿名函数也提供了支持。

比如当我们想计算两个数a,b之和时,即f(a,b) = a + b。我们可以有两种方法完成,第一种就是显示的定义一个函数f(x,y),然后将参数传进去得到结果。第二种方式就是使用匿名函数了。

f = lambda x,y:x+y 
>>>f(1,2) 
3 

匿名函数lambda x,y:x+y实际上就是:

def f(x, y): 
  return x + y 

在python中关键字lambda表示匿名函数,冒号前面的x,y表示的时函数的参数,匿名函数的语法就是:

lambda [arg1[,arg2,arg3....argN]]:expression

lambda语句中,冒号前是参数,可以有多个,用逗号隔开,冒号右边的表达式的结果作为匿名函数的返回值。

匿名函数有一个限制就是只能有一个表达式,不用写return,匿名函数的返回值就是该表达式的结果。用匿名函数有个好处,因为函数没有名字,不必担心函数名冲突。此外,匿名函数也是一个函数对象,也可以把匿名函数赋值给一个变量,再利用变量来调用该函数:

>>> f = lambda x: x * x 
>>> f 
<function <lambda> at 0x101c6ef28> 
>>> f(5) 
25 

同时,也可以把匿名函数作为函数的返回值返回,比如:

def build(x, y): 
  return lambda: x + y  

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

Python使用pymysql从MySQL数据库中读出数据的方法

python3.x已经不支持mysqldb了,支持的是pymysql 使用pandas读取MySQL数据时,使用sqlalchemy,出现No module named ‘MySQLdb...

浅谈python中真正关闭socket的方法

close方法可以释放一个连接的资源,但是不是立即释放,如果想立即释放,那么在close之前使用shutdown方法 shut_rd() -------关闭接受消息通道 shut_wr(...

Python常用随机数与随机字符串方法实例

随机整数: 复制代码 代码如下: >>> import random >>> random.randint(0,99) 21 随机选取0到100间的...

一道python走迷宫算法题

一道python走迷宫算法题

前几天逛博客时看到了这样一道问题,感觉比较有趣,就自己思考了下方案顺便用python实现了一下。题目如下: 用一个二维数组表示一个简单的迷宫,用0表示通路,用1表示阻断,老鼠在每个点上可...

Python数据库小程序源代码

源代码: # dict1 是 字典 , 用来对应相应元素的下标,我们将文件转成列表,对应的也就是文件的下标,通过下标来找文件元素 dict1 = {'sort':0 , 'name...