前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Python】函数进阶 ④ ( Lambda 匿名函数 | 具名函数与匿名函数 | Lambda 函数定义语法 )

【Python】函数进阶 ④ ( Lambda 匿名函数 | 具名函数与匿名函数 | Lambda 函数定义语法 )

作者头像
韩曙亮
发布2023-10-11 18:28:33
2690
发布2023-10-11 18:28:33
举报
文章被收录于专栏:韩曙亮的移动开发专栏

一、具名函数与匿名函数

在 Python 中 , 使用 def 关键字定义的函数 是 " 具名函数 " , 也就是有名字的函数 ;

与 " 具名函数 " 相对应的是 " 匿名函数 " ;

" 匿名函数 " 使用 lambda 关键字定义 , 也就是 没有名字的函数 ;

具名函数 可以 重复使用无数次 ;

匿名函数 只能 临时使用一次 ;

二、Lambda 函数定义语法

Lambda 函数 又称为 匿名函数 ;

Lambda 函数定义语法 :

代码语言:javascript
复制
lambda arguments: expression

使用 lambda 关键字 定义 Lambda 函数 , 该关键字通常与 : 符号一起使用 ,

  • arguments 是 函数的形式参数,
  • expression 是 函数的实现 , 也就是函数体 , 该 函数体只能有一行代码 ;

Python 中的 Lambda 函数 的 函数体 只能是一行代码 , 无法在 Lambda 函数中写多行代码 ;

如果 函数要使用多次 , 或者函数体要写多行 , 需要使用 def 关键字定义具名函数 ;

Lambda 匿名函数定义示例 : 该 lambda 匿名函数接受两个参数 x 和 y , 然后返回它们的和 ;

代码语言:javascript
复制
lambda x, y: x + y

这是 Lambda 函数单独使用的案例 ;

Lambda 函数可以单独使用 , 也可以作为其他函数或方法的一部分使用 ;

Lambda 函数作为函数参数使用案例 : 该 lambda 函数作用是 将列表中的每个元素转换为平方 , 使用 map 函数和 lambda 函数将列表中的每个元素转换为平方,并将结果存储在一个新列表中 ;

代码语言:javascript
复制
squares = list(map(lambda x: x ** 2, [1, 2, 3, 4, 5]))  
print(squares)  # 输出 [1, 4, 9, 16, 25]

三、代码示例 - Lambda 函数定义语法

代码示例 :

代码语言:javascript
复制
"""
函数多返回值 代码示例
"""


# 函数中接收另外一个函数作为函数
def caculate_num(action):
    result = action(4, 2)
    print(result)


# 匿名函数作为参数
caculate_num(lambda x, y: x + y)  # 6

caculate_num(lambda x, y: x - y)  # 2

caculate_num(lambda x, y: x * y)  # 8

caculate_num(lambda x, y: x / y)  # 2.0

执行结果 :

代码语言:javascript
复制
D:\001_Develop\022_Python\Python39\python.exe D:/002_Project/011_Python/HelloPython/Hello.py
6
2
8
2.0

Process finished with exit code 0
在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-10-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、具名函数与匿名函数
  • 二、Lambda 函数定义语法
  • 三、代码示例 - Lambda 函数定义语法
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档