我是靠谱客的博主 幸福电话,最近开发中收集的这篇文章主要介绍Python3——匿名函数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

没有名字的函数,不用写return,返回值就是该表达式的结果。

语法:lambda 参数:方法(或三元运算)

lambda x:x*x等同于
def f(x):
    return x * x
#普通函数
def calc(x,y):
    if x > y:
        return x/y
    else:
        return x*y

#匿名函数,想要调用必须赋一个变量
func = lambda x,y: x/y if x>y else x*y  #匿名函数最多只支持三元运算,再复杂的判断不支持

print(calc(3,8))
print(calc(16,8))
print(func(3,8))
print(func(16,8))

 结果:

24
2.0
24
2.0

 上面的例子好像看不出匿名函数和普通函数有什么区别,反而看上去会容易迷糊,那有什么用呢?

有些时候,不需要显式地定义函数,直接传入匿名函数更方便。

以map()函数为例:

现在需要一个列表里的所有元素自乘

a = list(range(10))
print(a)

#普通方法
for index,i in enumerate(a):
    a[index] = i*i
print(a)

#map()方法
print(list(map(lambda x:x*x,a)))

 结果:

#普通方法
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

#map()方法
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

可以看出同一个需求显然用匿名函数更加简洁

PS:map(func, *iterables)函数,第一个参数是个函数,第二个是用来操作的列表等元素集合

总结:

1、匿名函数不需要特意去定义一个函数名,可能这个函数只是某个地方临时用一下,后面就不会再用了

2、匿名函数一般都是和其他方法搭配使用,使得代码更加简洁

 

转载于:https://www.cnblogs.com/everzin/p/8594866.html

最后

以上就是幸福电话为你收集整理的Python3——匿名函数的全部内容,希望文章能够帮你解决Python3——匿名函数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部