欢迎来到赛兔子家园

Python lambda表达式(匿名函数)

定义一个简单的函数,Python提供了另外一种方法,lambda表达式。

lambda表达式,又称匿名函数,常用来表示内部仅包含1行表达式的函数。如果一个函数的函数体仅有1行表达式,则该函数可以用lambda表达式来代替。

lambda表达式的语法格式如下:

name = lambda [list] : 表达式

其中,定义 lambda 表达式,必须使用 lambda 关键字;[list] 作为可选参数,等同于定义函数是指定的参数列表;name为该表达式的名称。

该语法格式转换成普通函数的形式,如下所示:

def name(list):
    return "表达式"
name(list)

显然,使用普通方法定义此函数,需要 3 行代码,而使用 lambda 表达式仅需 1 行。

举个例子,如果设计一个求 2 个数之和的函数,使用普通函数的方式,定义如下:

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

print(add(5,6))

程序执行结果:11

由于上面程序中,add() 函数内部仅有 1 行表达式,因此该函数可以直接用 lambda 表达式表示:

add = lambda x,y:x+y
print(add(5,6)) # 输出 11

可以这样理解 lambda 表达式,其就是简单函数(函数体仅是单行的表达式)的简写版本。相比函数,lamba 表达式具有以下  2 个优势:

1、对于单行函数,使用 lambda 表达式可以省去定义函数的过程,让代码更加简洁;

2、对于不需要多次复用的函数,使用 lambda 表达式可以在用完之后立即释放,提高程序执行的性能。

posted on 2024-03-27 10:43  赛兔子  阅读(7)  评论(0编辑  收藏  举报

导航