加入收藏 | 设为首页 | 会员中心 | 我要投稿 航空爱好网 (https://www.52kongjun.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

Python lambda表达式 匿名函数 和用法

发布时间:2022-07-07 02:54:19 所属栏目:语言 来源:互联网
导读:对于定义一个简单的函数,Python 还提供了另外一种方法,即使用本节介绍的 lambda 表达式。 lambda 表达式,又称匿名函数,常用来表示内部仅包含 1 行表达式的函数。如果一个函数的函数体仅有 1 行表达式,则该函数就可以用 lambda 表达式来代替。 lambda 表
  对于定义一个简单的函数,Python 还提供了另外一种方法,即使用本节介绍的 lambda 表达式。
 
  lambda 表达式,又称匿名函数,常用来表示内部仅包含 1 行表达式的函数。如果一个函数的函数体仅有 1 行表达式,则该函数就可以用 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(3,4))
  程序执行结果为:
  7
  
  由于上面程序中,add() 函数内部仅有 1 行表达式,因此该函数可以直接用 lambda 表达式表示:
  add = lambda x,y:x+y
  print(add(3,4))
  程序输出结果为:
  7
 
  可以这样理解 lambda 表达式,其就是简单函数(函数体仅是单行的表达式)的简写版本。相比函数,lamba 表达式具有以下  2 个优势:
  对于单行函数,使用 lambda 表达式可以省去定义函数的过程,让代码更加简洁;
  对于不需要多次复用的函数,使用 lambda 表达式可以在用完之后立即释放,提高程序执行的性能。

(编辑:航空爱好网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!