匿名函数为什么叫lambda?

匿名函数为什么叫lambda?

匿名函数为什么叫lambda? lambda函数的由来 Lambda 表达式(lambda expression)是一个匿名函数,Lambda表达式基于数学中的「λ演算」得名,直接对应于其中的lambda抽象(lambda abstraction)。

λ这个符号读lambda,所以匿名函数又被称为lambda函数,最早lambda函数应该是出现Lisp中的,因为它是一门「纯函数式编程的语言」。

λ演算(英语:lambda calculus,λ-calculus)是一套从数学逻辑中发展,以变量绑定和替换的规则,来研究函数如何抽象化定义、函数如何被应用以及递归的形式系统。

有兴趣的小伙伴可以深入学习下,据说它的作用比算法还大。

讲完lambda函数的由来,随便带大家学习下lambda函数的使用。

lambda函数普通用法 匿名函数为什么叫lambda? 无参数形式 f1 = lambda: "f1"

等价于普通函数:

def f1():

return "f1"

有参数形式 f2 = lambda x,y,z: print(x,y,z)

等价于普通函数:

def f2(x,y,z):

print(x,y,z)

有分支条件形式 f3 = lambda x: print("偶数") if x % 2 == 0 else print("奇数")

等价于普通函数:

def f3(x):

if x % 2 == 0:

print("偶数")

else:

print("奇数")

lambda函数配合高阶函数使用 如果你还不知道什么是Python高阶函数的话可以看下面这篇公众号。

Python高阶函数一点都不“高阶”【#124】

配合map函数计算两数平方和 s = lambda x,y : x**2 + y**2

array1 = [1,3,5,7,9]

array2 = [2,4,6,8,10]

print(list(map(s, array1, array2)))

配合filter函数筛选从数组中筛选偶数 array3 = [1,2,3,4,5,6,7,8,9,10]

even = lambda x: x if x % 2 == 0 else None

print(list(filter(even, array3)))

配合reduce函数实现数组中的数俩俩相乘 from functools import reduce

array4 = [1,2,3,4,5,6,7,8,9,10]

m = lambda x, y: x * y

print(reduce(m, array4))

匿名函数为什么叫lambda? lambda函数的使用建议 lambda是函数式编程的利器; lambda函数与普通函数相比,不会提高程序运行效率的提高; 不建议在lambda函数内写太复杂的条件语句,不易读; 如果要使用循环,老老实实用def去定义函数。 作者:小K

来源:麦叔编程

相关推荐

竞技游戏有哪些 十大必玩竞技游戏盘点
bat365官网登录下载

竞技游戏有哪些 十大必玩竞技游戏盘点

📅 08-30 👁️ 2878
王者荣耀刺客走哪条路
365bet欧洲版官网

王者荣耀刺客走哪条路

📅 08-04 👁️ 8888
新倩女幽魂跑商路线攻略详细介绍
365bet官方网址

新倩女幽魂跑商路线攻略详细介绍

📅 07-31 👁️ 1182