在 python 中,函数反映了编程语言的扩展能力,有人认为函数是 Python 语言的灵魂,上节教程我们已经介绍了使用 def 关键字定义的函数,本节主要介绍 Python 函数中的匿名函数。
匿名函数即没有函数名的函数,常被用在以下场合:
- 在程序中只使用一次,不需要定义函数名,节省内存中变量定义空间;
- 编写 Shell 脚本时使用匿名函数可以省去定义函数的过程,让代码更加简洁;
- 某些时候为了让代码更容易理解;
- Python 中使用 lambda 关键字创建匿名函数。
Python 的匿名函数有以下特点:
- 匿名函数只是一个表达式,仅能封装有限的逻辑;
- 匿名函数拥有自己的命名空间,且不能访问自己参数列表之外或全局命名空间里的参数;
- 匿名函数看起来只能写一行,却不等同于 C 或 C++ 的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率。
定义匿名函数的语法如下:
lambda 参数1, 参数2,......, 参数n:表达式
一些简单的运算可以很容易被改写为匿名函数,例如计算长方形面积的函数:
area = lambda width, height: width * height
print (area(3, 4))
上述代码的运行结果如下所示:
>>> area = lambda width, height: width * height
>>> print (area(3, 4))
12