Python3匿名函数lambda介绍与使用示例
Python3中的匿名函数,也称为lambda函数,是一种简洁的创建小型、一次性函数的方法。与常规的`def`关键字定义的函数不同,lambda函数无需名称,它们在定义时直接返回结果,表达式的结果即为函数的返回值。在Python中,lambda函数通过`lambda`关键字来创建。 ### 一、lambda函数的语法 lambda函数的基本形式如下: ```python lambda arg1, arg2, ..., argn: expression ``` 其中,`arg1, arg2, ..., argn`是函数的参数列表,而`expression`是一个单一的表达式,它会被计算并作为lambda函数的返回值。 ### 二、lambda函数的特点 1. **表达式性质**:lambda函数是一个表达式,而不是一个语句,因此它可以在任何可以使用表达式的地方使用。 2. **单个表达式**:lambda函数的主体只能包含一个表达式,这限制了它的功能,使得它更适合执行简单的计算或逻辑判断。 ### 三、lambda函数的使用 #### 1. 无参匿名函数 无参lambda函数可以直接赋值给一个变量,并像调用普通函数一样使用: ```python B = lambda: True print(B()) # 输出:True ``` #### 2. 有参匿名函数 有参lambda函数可以接受多个参数,这些参数在函数定义时指定: ```python two_sum = lambda x, y: x + y print(two_sum(1, 2)) # 输出:3 ``` #### 3. 参数默认值 lambda函数也可以为参数设置默认值: ```python sum_with_100 = lambda x, y=100: x + y print(sum_with_100(200)) # 输出:300 ``` #### 4. 从后面传递参数 lambda函数可以直接在定义后跟随参数来调用: ```python two_sum = (lambda x, y: x + y)(3, 4) print(two_sum) # 输出:7 ``` #### 5. 嵌套使用 lambda函数可以嵌套在其他函数中,形成简单的闭包: ```python def sum(x): return lambda y: x + y sum_with_100 = sum(100) result = sum_with_100(200) print(result) # 输出:300 ``` ### 四、lambda函数的实例应用 1. **结合三元表达式求最小值**: ```python lower = lambda x, y: x if x < y else y print(lower(7, 100)) # 输出:7 ``` 2. **对字典按特定键值排序**: ```python d = [{"order": 3}, {"order": 1}, {"order": 2}] d.sort(key=lambda x: x['order']) print(d) # 输出:[{'order': 1}, {'order': 2}, {'order': 3}] ``` ### 五、总结 lambda函数在Python3中提供了快速定义简单函数的能力,尤其适用于需要短暂、一次性使用的场合。虽然它们在功能上受限,但它们的简洁性和方便性使得它们在处理数据和函数式编程中扮演着重要的角色。在编写代码时,根据具体需求选择合适的方法定义函数,既能保持代码的可读性,也能提高开发效率。
- 粉丝: 6
- 资源: 973
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助