Python流程控制
7 函数和lambda表达式
7.1 Python函数
7.2 Python函数值传递和引用传递(包括形式参数和实际参数)
7.3 深度剖析Python函数参数传递的内部机制
7.4 Python位置参数
7.5 Python关键字参数
7.6 Python默认参数
7.7 Python函数如何传入任意个参数?
7.8 Python如何用序列中元素给函数传递参数?
7.9 Python None(空值)
7.10 Python return函数返回值
7.11 Python函数怎样返回多个值?
7.12 Python partial偏函数
7.13 从实例出发,攻克Python函数递归
7.14 Python变量作用域(全局变量和局部变量)
7.15 Python如何在函数中使用同名的全局变量?
7.16 Python局部函数
7.17 更高级的Python函数用法,玩转Python函数!
7.18 Python闭包函数
7.19 Python lambda表达式(匿名函数)
7.20 Python eval()和exec()函数
7.21 使用exec()和eval(),不要犯这样的低级错误!
7.22 Python函数式编程(map()、filter()和reduce())详解
7.23 函数注解,号称Python3新增的最独特的功能!
7.24 如何才能提高代码颜值,让代码变得有逼格?
Python类和对象 类特殊成员(属性和方法) Python异常处理机制 Python模块和包 Python文件操作(I/O)
对于定义一个简单的函数, 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)) 程序执行结果为: 由于上面程序中,add() 函数内部仅有 1 行表达式,因此该函数可以直接用 lambda 表达式表示: add = lambda x,y:x+y print(add(3,4)) 程序输出结果为: 可以这样理解 lambda 表达式,其就是简单函数(函数体仅是单行的表达式)的简写版本。相比函数,lamba 表达式具有以下  2 个优势:
对于单行函数,使用 lambda 表达式可以省去定义函数的过程,让代码更加简洁; 对于不需要多次复用的函数,使用 lambda 表达式可以在用完之后立即释放,提高程序执行的性能。

关注公众号「 站长严长生 」,在手机上阅读所有教程,随时随地都能学习。内含一款搜索神器,免费下载全网书籍和视频。

微信扫码关注公众号