Python 函数完整学习笔记(包含匿名函数 lambda)
引言函数可以封装重复逻辑减少冗余代码提升复用性。本文系统梳理 Python 函数基础概念、五类参数、解包、匿名函数全部知识点配套可执行示例。一、函数基础概念核心目的减少代码编写提升代码复用效果。术语说明def关键字定义 / 声明函数调用函数函数名 ()触发执行形参形式参数定义函数时写在括号内的变量实参实际参数调用函数传入真实数据返回值return函数运算完成向外输出结果类比程序 输入 → 运算 → 输出函数 输入 → 运算 → 输出python运行# 1.定义函数 def def calc_add(a, b): # a,b 形参 res a b return res # 返回值 # 2.调用函数35是实参 result calc_add(3, 5) print(result)二、函数五大参数类型思维导图全覆盖1. 位置参数按照顺序依次赋值实参与形参顺序一一对应python运行def show(name, age): print(f姓名:{name},年龄:{age}) # 位置传参顺序不能乱 show(瓜瓜, 18)2. 关键字参数直接指定形参名称赋值不受顺序约束python运行def show(name, age): print(f姓名:{name},年龄:{age}) # 关键字传参 show(age16, name小明)3. 默认参数定义函数时形参设置默认值带默认的参数必须放在无默认参数后方python运行def show(name, age18): print(f姓名:{name},年龄:{age}) show(小红) # 不传入age自动使用默认值18 show(小红, 20) # 传入值覆盖默认值4. 不定参数可变参数可变元组参数*args接收任意多个位置实参打包为元组python运行def sum_all(*args): print(args) return sum(args) print(sum_all(1,2,3)) print(sum_all(1,2,3,4,5))可变字典参数**kwargs接收任意多个未定义关键字实参打包为字典python运行def print_info(**kwargs): print(kwargs) print_info(name瓜瓜, sex女, height165)三、列表、字典解包传参列表解包*把列表拆分依次作为位置实参python运行def show(a,b,c): print(a,b,c) lst [10,20,30] show(*lst)字典解包**把字典拆分作为关键字参数传入python运行def show(name,age): print(name,age) info {name:库洛米,age:16} show(**info)四、匿名函数 lambda普通 def 定义具名函数lambda 创建临时、无名称的匿名函数语法lambda 参数: 表达式限制只能书写单一表达式不能写多行代码。python运行# 示例1无参数匿名函数 f1 lambda: Hello Python print(f1()) # 示例2单个参数 f2 lambda x: x ** 2 print(f2(7)) # 49 # 示例3多个参数 f3 lambda a, b: a b print(f3(10, 25)) # 35 # 示例4参数带默认值 f4 lambda x, y10: x * y print(f4(3)) # 3*1030 print(f4(3, 5)) # 3*515 # 示例5三元表达式lambda内条件判断 # 返回较大值 max_num lambda a, b: a if a b else b print(max_num(56, 29)) # 示例6map() 批量转换列表 nums [1,2,3,4] res list(map(lambda x: x*3, nums)) print(res) # [3, 6, 9, 12] # 示例7filter() 筛选数据 nums [1,2,3,4,5,6,7,8] # 筛选偶数 res list(filter(lambda x: x % 2 0, nums)) print(res) # [2,4,6,8] # 示例8sorted 字典列表排序【重点面试高频】 student [ {name:瓜瓜, age:18}, {name:小明, age:16}, {name:小红, age:20} ] # 根据age升序 student.sort(keylambda x: x[age]) print(student) # 根据age降序 student.sort(keylambda x: x[age], reverseTrue) print(student) # 示例9获取元组指定元素排序 data [(5, 10), (2, 30), (8, 1)] # 使用第二个元素排序 data.sort(keylambda t: t[1]) print(data) # 示例10lambda作为函数返回值闭包简单演示 def make_adder(n): return lambda x: x n add5 make_adder(5) print(add5(10)) # 15⚠️重要注意事项lambda 内部不能使用循环、if 语句块只能用三元表达式python运行# 错误写法不允许 # bad lambda x: if x0: print(x)逻辑一旦复杂不要强行使用 lambda改用def定义普通函数可读性更高lambda 没有函数名报错时堆栈信息不易排查生产环境慎用超长 lambda。

相关新闻

Cursor怎么用?——2024最新版深度评测:对比GitHub Copilot、Tabnine,实测响应速度+准确率+上下文长度(含Benchmark数据)

Cursor怎么用?——2024最新版深度评测:对比GitHub Copilot、Tabnine,实测响应速度+准确率+上下文长度(含Benchmark数据)

更多请点击: https://codechina.net 第一章:Cursor怎么用 Cursor 是一款基于 VS Code 内核、深度集成 AI 编程能力的现代代码编辑器,专为开发者设计,支持自然语言驱动的代码生成、重构、调试与文档编写。安装后首次启动会引导完成…

2026/7/23 12:21:26阅读更多 →
LLM、Diffusion、TinyML——2024开发友好型AI模型全景图,附性能/内存/推理延迟实测数据

LLM、Diffusion、TinyML——2024开发友好型AI模型全景图,附性能/内存/推理延迟实测数据

更多请点击: https://codechina.net 第一章:AI模型开发友好性评估框架与基准定义 AI模型开发友好性并非仅关乎推理速度或参数量,而是涵盖可复现性、调试效率、部署适配度、文档完备性及社区支持强度等多维体验。为系统量化这一抽象特质&…

2026/7/23 12:21:26阅读更多 →
【嵌入式进阶】C++ 到底能做什么?主流开发环境汇总 + STM32F103C8T6 裸机 C++ 开发保姆级教程(CubeIDE + HAL 库,附可直接编译源码)

【嵌入式进阶】C++ 到底能做什么?主流开发环境汇总 + STM32F103C8T6 裸机 C++ 开发保姆级教程(CubeIDE + HAL 库,附可直接编译源码)

专栏定位:嵌入式工程师进阶、单片机 C 语言转 C++ 人群,面向有 STM32 基础读者; 全部内容均可复现;资料来源标注齐全;少量嵌入式 C++ 最佳实践属于社区通用经验,无官方强制标准,已标注 目录 C++ 语言能力:可以实现哪些功能、适用行业场景 C++ 主流开发环境 / 编译器分类…

2026/7/23 12:21:26阅读更多 →
2026年无线投屏器怎么选?这篇深度评测告诉你

2026年无线投屏器怎么选?这篇深度评测告诉你

2026年,无线投屏器已经成为企业会议室、教育机构、家庭娱乐的标配设备。打开电商平台搜索“无线投屏器”,市面上的产品五花八门,从99元到5000元不等,到底应该怎么选?什么品牌值得信赖? 带着这些问题&#x…

2026/7/23 13:37:51阅读更多 →
Unity智能NPC开发:基于ML-Agents与MCP的分层决策架构实践

Unity智能NPC开发:基于ML-Agents与MCP的分层决策架构实践

1. 项目概述:从“调参地狱”到“智能涌现”如果你在Unity里做过稍微复杂一点的NPC行为,大概率经历过“调参地狱”。我说的不是简单的“靠近玩家就攻击”这种状态机逻辑,而是那种需要动态决策、适应环境、甚至能“学习”玩家套路的智能体。传统…

2026/7/23 13:37:51阅读更多 →
Qwen3.5架构演进与舆情分析实践

Qwen3.5架构演进与舆情分析实践

1. Qwen3到Qwen3.5架构演进概述去年第一次接触Qwen3架构时,最让我印象深刻的是其创新的混合注意力机制设计。如今Qwen3.5的发布,在保持核心优势的基础上进行了多项关键改进。从工程实践角度看,这次升级主要围绕三个方向:计算效率优…

2026/7/23 13:37:51阅读更多 →
智能快寄柜系统-物品寄存任务工单 五日工作计划

智能快寄柜系统-物品寄存任务工单 五日工作计划

一、工单基本信息项目名称智能快寄柜系统工单编号全栈开发-智能快寄柜系统-物品寄存任务工单创建时间2026-01创建人邹世军开发方向全栈开发 GO 方向原型地址https://modao.cc/proto/3fxWzFGJsp37iiCk5fS2h/sharing?view_moderead_only原工时预估3 人日任务优先级中二、任务概述…

2026/7/23 13:37:51阅读更多 →
AI Agent 入门

AI Agent 入门

🚀 AI Agent 入门指南 AI Agent(人工智能体)是当前 AI 领域最热门的方向之一,被视为大模型从"对话工具"走向"自主执行"的关键形态。下面为你系统梳理入门路径。 什么是 AI Agent? 简单来说&#x…

2026/7/23 13:37:51阅读更多 →
基于Transformer的多组学数据整合与疾病预测系统

基于Transformer的多组学数据整合与疾病预测系统

1. 项目背景与核心价值多组学数据整合与疾病预测是当前生物医学研究的重点方向。传统方法在处理基因组、转录组、蛋白质组等多维度数据时面临两大挑战:一是不同组学数据间的异质性问题,二是海量数据下的特征提取效率低下。大模型技术的出现为解决这些问题…

2026/7/23 13:35:50阅读更多 →
Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/23 0:56:31阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/23 0:56:31阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/23 0:56:31阅读更多 →
Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具 【免费下载链接】chitchatter Secure peer-to-peer chat that is serverless, decentralized, and ephemeral 项目地址: https://gitcode.com/gh_mirrors/ch/chitchatter Chitchatter是一款革命性的安…

2026/7/23 0:00:28阅读更多 →
从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

更多请点击: https://intelliparadigm.com 第一章:从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表) 当AI副业主理人不再仅满足于单次服务交付,而是主动构建可复用、可裂变、可…

2026/7/23 0:00:28阅读更多 →
油泥处理设备哪里能买到

油泥处理设备哪里能买到

油泥处理设备哪里有?这是许多从事油田、炼化、清罐业务的从业者最关心的问题。根据河南三丰环保设备有限公司的行业经验,选购油泥处理设备的核心在于设备能否适配当地环保法规与原料特性,而非单纯看价格。该公司总经理王钦田先生指出&#xf…

2026/7/23 0:00:28阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/22 22:56:18阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/22 18:55:50阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/22 18:55:50阅读更多 →