站长在线Python教程:Python函数中的匿名函数详解

2024-03-25 13:40

本文主要是介绍站长在线Python教程:Python函数中的匿名函数详解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《Python函数中的匿名函数详解》。本文的主要内容有:匿名函数的定义、匿名函数的表达式、匿名函数的注意点、匿名函数的优点、匿名函数的应用举例。

1、匿名函数的定义

所谓匿名函数就是没有名字的函数,在Python中使用lambda表示创建匿名函数。

2、匿名函数的表达式

name = lambda [arg1 [,arg2,...,argn]]:expression

相关参数如下:

name:用于调用lambda表达式。

[arg1 [,arg2,...,argn]]:可选参数,用于指定要传递的参数列表,多个参数间使用逗号“,”分隔。

expression:必选参数,用于指定一个实现具体功能的表达式。如果有参数,那么在该表达式中将应用这些参数。

3、匿名函数的注意点

lambda 函数可以接收任意多个参数 (包括可选参数) 并且返回单个表达式的值。lambda 函数不能包含命令,包含的表达式不能超过一个。

4、匿名函数的优点:

4.1、使用Python写一些脚本时,使用lambda可以省去定义函数的过程,让代码更加精简。

4.2、对于一些抽象的,不会被别的地方再重复使用的函数,有时候函数起个名字也是个难题,使用lambda不需要考虑命名的问题

4.3、使用lambda在某些时候然后代码更容易理解

示例:求一个两个函数之和的函数,普通的函数定义如下:

def add(x, y):return x+ y
print(add(1,2))

运行结果为:

3
>>> 

使用匿名函数简化为:

add = lambda x,y:x+y
print(add(1,2))

运行的结果为:

3
>>> 

5、匿名函数的应用举例

在内置函数 max() 求最大值,min()求最小值, sort()排序,map() 映射, reduce 合并, filter() 过滤等经常应用到。

本文以使用lambda表达式实现对学生成绩列表的排序为例,讲解匿名函数的应用。

列:定义一个保存学生成绩的列表,每个学生的信息保存在一个字典中,根据学生的成绩排序。

student = [{'id': '001', 'name': '张三', '语文': 95, '数学': 98, '外语': 90},{'id': '002', 'name': '李四', '语文': 90, '数学': 92, '外语': 88},{'id': '003', 'name': '王五', '语文': 92, '数学': 93, '外语': 96},{'id': '004', 'name': '赵六', '语文': 91, '数学': 90, '外语': 86}]   # 保存学生成绩的列表
student.sort(key=lambda x :x['语文']+x['数学']+x['外语'],reverse = True)# 按总成绩排序
for item in student:  # 遍历输出排序结果print(item)

运行结果如下:

{'id': '001', 'name': '张三', '语文': 95, '数学': 98, '外语': 90}
{'id': '003', 'name': '王五', '语文': 92, '数学': 93, '外语': 96}
{'id': '002', 'name': '李四', '语文': 90, '数学': 92, '外语': 88}
{'id': '004', 'name': '赵六', '语文': 91, '数学': 90, '外语': 86}
>>> 

到此为止,Python函数中的匿名函数详解就讲解完毕了。有问题的,可以给我留言哦!

 

这篇关于站长在线Python教程:Python函数中的匿名函数详解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/845190

相关文章

基于Linux的ffmpeg python的关键帧抽取

《基于Linux的ffmpegpython的关键帧抽取》本文主要介绍了基于Linux的ffmpegpython的关键帧抽取,实现以按帧或时间间隔抽取关键帧,文中通过示例代码介绍的非常详细,对大家的学... 目录1.FFmpeg的环境配置1) 创建一个虚拟环境envjavascript2) ffmpeg-py

python使用库爬取m3u8文件的示例

《python使用库爬取m3u8文件的示例》本文主要介绍了python使用库爬取m3u8文件的示例,可以使用requests、m3u8、ffmpeg等库,实现获取、解析、下载视频片段并合并等步骤,具有... 目录一、准备工作二、获取m3u8文件内容三、解析m3u8文件四、下载视频片段五、合并视频片段六、错误

Python中提取文件名扩展名的多种方法实现

《Python中提取文件名扩展名的多种方法实现》在Python编程中,经常会遇到需要从文件名中提取扩展名的场景,Python提供了多种方法来实现这一功能,不同方法适用于不同的场景和需求,包括os.pa... 目录技术背景实现步骤方法一:使用os.path.splitext方法二:使用pathlib模块方法三

Python打印对象所有属性和值的方法小结

《Python打印对象所有属性和值的方法小结》在Python开发过程中,调试代码时经常需要查看对象的当前状态,也就是对象的所有属性和对应的值,然而,Python并没有像PHP的print_r那样直接提... 目录python中打印对象所有属性和值的方法实现步骤1. 使用vars()和pprint()2. 使

CSS place-items: center解析与用法详解

《CSSplace-items:center解析与用法详解》place-items:center;是一个强大的CSS简写属性,用于同时控制网格(Grid)和弹性盒(Flexbox)... place-items: center; 是一个强大的 css 简写属性,用于同时控制 网格(Grid) 和 弹性盒(F

spring中的ImportSelector接口示例详解

《spring中的ImportSelector接口示例详解》Spring的ImportSelector接口用于动态选择配置类,实现条件化和模块化配置,关键方法selectImports根据注解信息返回... 目录一、核心作用二、关键方法三、扩展功能四、使用示例五、工作原理六、应用场景七、自定义实现Impor

使用Python和OpenCV库实现实时颜色识别系统

《使用Python和OpenCV库实现实时颜色识别系统》:本文主要介绍使用Python和OpenCV库实现的实时颜色识别系统,这个系统能够通过摄像头捕捉视频流,并在视频中指定区域内识别主要颜色(红... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间详解

一文深入详解Python的secrets模块

《一文深入详解Python的secrets模块》在构建涉及用户身份认证、权限管理、加密通信等系统时,开发者最不能忽视的一个问题就是“安全性”,Python在3.6版本中引入了专门面向安全用途的secr... 目录引言一、背景与动机:为什么需要 secrets 模块?二、secrets 模块的核心功能1. 基

一文详解MySQL如何设置自动备份任务

《一文详解MySQL如何设置自动备份任务》设置自动备份任务可以确保你的数据库定期备份,防止数据丢失,下面我们就来详细介绍一下如何使用Bash脚本和Cron任务在Linux系统上设置MySQL数据库的自... 目录1. 编写备份脚本1.1 创建并编辑备份脚本1.2 给予脚本执行权限2. 设置 Cron 任务2

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热