栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【Python】【技能树】技巧实例【01】 - 匿名函数的使用

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【Python】【技能树】技巧实例【01】 - 匿名函数的使用

1 lambda 匿名函数的表达式:

lambda [参数列表]:表达式
lambda [arg1[,arg2,arg3…argN]]:expression

lambda 就是匿名函数。

fun = lambda x:x+1
print(fun(1))

【案,举例,lambda是匿名函数关键字,x是输入参数,x+1是表达式。因为匿名函数返回是一个函数,这一点非常重要,fun是被赋予函数的函数变量,fun(1),将参数1给到匿名函数,得到的结果是1+1=2】

2 将 lambda 表达式作为参数传递给其它函数的例子
my_list = [(1, 2), (3, 1), (4, 0), (11, 4)]
my_list.sort(key=lambda x: x[1])
print(my_list)

[(4, 0), (3, 1), (1, 2), (11, 4)]

【案,这里的匿名函数,把参数x[1]传递给了sort的key,这样sort按照第二个元素的大小进行排序,也就是上面的结果,右侧的元素,从0,1,2,4进行排序】

my_list = [(1, 2), (3, 1), (4, 0), (11, 4)]
my_list.sort(key=lambda x: x[0])
print(my_list)

【案,现在我们用第一个元素排序,结果呢,如下】

[(1, 2), (3, 1), (4, 0), (11, 4)]

3 用匿名函数屏蔽正常函数功能
sorted = lambda *args:None
x = sorted([3,2,1])
print(x)

None

【案,这里相当于把sort的函数给屏蔽了,他的输出没有,这个对调试有帮助】

4 用来做闭包(Closure)编程
def fun(n):
    return lambda x:x+n

new_fun = fun(2)
print(new_fun)
# 输出内容:. at 0x00000000028A42F0>

【由于匿名函数返回是函数地址,那么放到另外一个函数的返回上,相当于吧匿名函数的返回给包装了,那么匿名函数也就成了一个内部函数】

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/971518.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号