软件测试|lambda的使用,你真的会了吗?

举报
Tester_muller 发表于 2023/04/10 11:48:08 2023/04/10
【摘要】 前言通常,我们在python中会使用def xxxx():来定义函数,但是如果我们要定义一个简单的函数,再通过这个方法,就显得有一些繁琐,Python为了方便我们,提供简单的方法给我们使用。我们可以通过lambda表达式来定义简单函数,lambda 表达式,又称匿名函数,常用来表示内部仅包含 1 行表达式的函数。如果一个函数的函数体仅有 1 行表达式,则该函数就可以用 lambda 表达式...

前言

通常,我们在python中会使用def xxxx():来定义函数,但是如果我们要定义一个简单的函数,再通过这个方法,就显得有一些繁琐,Python为了方便我们,提供简单的方法给我们使用。

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

lambda表达式

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

name = lambda [list] : 表达式

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

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

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

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

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

def add(x, y):
    return x+ y
print(add(7,8))
------------------------
输出结果为:
15

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

add = lambda x,y:x+y
print(add(7,8))
---------------------
输出结果如下:
15

总结

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

  • 对于单行函数,使用 lambda 表达式可以省去定义函数的过程,让代码更加简洁
  • 对于不需要多次复用的函数,使用 lambda 表达式可以在用完之后立即释放,提高程序执行的性能
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。