当前位置: 首页 > 图灵资讯 > 行业资讯> python中的匿名函数如何使用?

python中的匿名函数如何使用?

来源:图灵python
时间: 2024-12-15 20:19:29

之前我们给大家讲函数也不再少数,往期里也经常在函数内容里给大家拓展新的函数,不知道大家都没有理解呢?小编知道函数是大家的基础,在浏览代码的时候,经常注意这块内容,今天也不例外,下面给大家带来一个好玩的函数——匿名函数,一起来看下吧~

匿名函数

匿名函数不需要显示地定义函数名,使用【lambda + 参数 +表达式】的方式

lambda 函数

lambda 函数的形式

lambdaargument1,argument2,...argumentN:expression

套入函数,使用lambda

square=lambdax:x**2
square(3)
9
lambda返回的一个函数对象

注意:lambda 和def 的区别

lambda 是一个表达式,def 是一个语句

[(lambdax:x*x)(x)forxinrange(10)]
#输出
[0,1,4,9,16,25,36,49,64,81]

lambda 可以用作函数的参数,def 不能

l=[(1,20),(3,0),(9,10),(2,-1)]
l.sort(key=lambdax:x[1])#按列表中元祖的第二个元素排序
print(l)
#输出
[(2,-1),(3,0),(9,10),(1,20)]

lambda 是只有一行的简单表达式

squared=map(lambdax:x**2,[1,2,3,4,5])
如果不用lambda,你用def就需要多写好多行
defsquare(x):
returnx**2
squared=map(square,[1,2,3,4,5])

tkinter 中实现的简单功能

fromtkinterimportButton,mainloop
button=Button(
text='Thisisabutton',
command=lambda:print('beingpressed'))#点击时调用lambda函数
button.pack()
mainloop()

主要你按压就出现being pressed,你用def就是下面的样子。

fromtkinterimportButton,mainloop

defprint_message():
print('beingpressed')

button=Button(
text='Thisisabutton',
command=print_message)#点击时调用lambda函数
button.pack()
mainloop()

使用def 要写好多行,多定义一个函数。

好了,以上就是详细的匿名函数的使用了哦~如需了解更多python实用知识,点击进入PyThon学习网教学中心