苦练Python第15天:Lambda函数——Python的匿名一行杀器

苦练Python第15天:Lambda函数------Python的匿名一行杀器

原文链接:dev.to/therahul_gu...

作者:Rahul Gupta

译者:倔强青铜三

前言

大家好,我是倔强青铜三 。是一名热情的软件工程师,我热衷于分享和传播IT技术,致力于通过我的知识和技能推动技术交流与创新,欢迎关注我,微信公众号:倔强青铜三。欢迎点赞、收藏、关注,一键三连!!!

欢迎来到 100天Python挑战 的第15天!

今天,我们聊聊 lambda函数 ------一种短小精悍、无需命名的"一行流"函数。

它能在 mapfiltersorted 等场景中大放异彩,也能让你的代码瞬间优雅。


今日速览

  • lambda函数是什么
  • 语法速记
  • def 的差异
  • 搭配高阶函数实战
  • 使用场景与避坑指南

🧠 什么是 Lambda 函数?

lambda 函数是没有名字的匿名函数 ,只能包含一个表达式 ,却能接收任意数量的参数。

一句就够:

python 复制代码
lambda 参数: 表达式

🔧 示例 1:基础平方

python 复制代码
square = lambda x: x * x
print(square(5))  # 25

等价于:

python 复制代码
def square(x):
    return x * x

🎯 示例 2:多参数加法

python 复制代码
add = lambda a, b: a + b
print(add(3, 7))  # 10

⚙️ 高阶搭档:mapfiltersorted

搭配 map

python 复制代码
numbers = [1, 2, 3, 4]
squares = list(map(lambda x: x**2, numbers))
print(squares)  # [1, 4, 9, 16]

搭配 filter

python 复制代码
nums = [5, 12, 17, 18, 24, 3]
evens = list(filter(lambda x: x % 2 == 0, nums))
print(evens)  # [12, 18, 24]

搭配 sorted(自定义 key)

python 复制代码
students = [("John", 88), ("Alice", 92), ("Bob", 75)]
sorted_students = sorted(students, key=lambda x: x[1], reverse=True)
print(sorted_students)
# [('Alice', 92), ('John', 88), ('Bob', 75)]

🧪 实战:一行小费计算器

python 复制代码
calculate_tip = lambda bill, percent: round(bill * percent / 100, 2)
print(calculate_tip(200, 10))  # 20.0

🤔 何时用 Lambda?

✅ 推荐场景

  • 仅需一行逻辑的临时函数
  • 作为高阶函数的参数
  • 不想污染命名空间

🚫 避免场景

  • 逻辑复杂需多行
  • 需要调试或复用
  • 阅读性大幅下降

⚠️ 常见踩坑

  • 试图写多行:lambda 只支持单个表达式
  • 滥用:可读性变差
  • def 混淆:复杂逻辑请用正式函数

🔁 lambda vs def 速查表

特性 lambda def
名称 匿名 具名
长度 一行 多行
复用性 一般不重用 可重用
适用场景 快速短小逻辑 完整函数

🧠 今日复盘

  • lambda 语法:lambda 参数: 表达式
  • mapfiltersorted 搭档效率翻倍
  • 小费、排序等场景一行搞定
  • 记得只在简单场景使用,保持代码可读

最后感谢阅读!欢迎关注我,微信公众号倔强青铜三。欢迎点赞收藏关注,一键三连!!!

相关推荐
测试员周周3 小时前
【Appium 系列】第16节-WebView-H5上下文切换 — 混合应用的自动化难点
运维·开发语言·人工智能·功能测试·appium·自动化·测试用例
测试19983 小时前
软件测试 - 单元测试总结
自动化测试·软件测试·python·测试工具·职场和发展·单元测试·测试用例
K姐研究社5 小时前
怎么用AI制作电商口播视频,开拍APP一键生成
人工智能·音视频
LaughingZhu5 小时前
Product Hunt 每日热榜 | 2026-05-21
前端·人工智能·经验分享·chatgpt·html
Mahir085 小时前
Spring 循环依赖深度解密:从问题本质到三级缓存源码级解析
java·后端·spring·缓存·面试·循环依赖·三级缓存
曲幽5 小时前
我用了FastApiAdmin后,连夜把踩过的坑都整理出来了
redis·python·postgresql·vue3·fastapi·web·sqlalchemy·admin·fastapiadmin
传说故事6 小时前
【论文阅读】MotuBrain: An Advanced World Action Model for Robot Control
论文阅读·人工智能·具身智能·wam
北京耐用通信6 小时前
全域适配工业场景耐达讯自动化Modbus TCP 转 PROFIBUS 网关轻松实现以太网与现场总线互通
网络·人工智能·网络协议·自动化·信息与通信
火山引擎开发者社区6 小时前
TRAE × 火山引擎 Supabase:为你的 AI 应用装上“数据引擎”
人工智能
小a彤7 小时前
GE 在 CANN 五层架构中的位置
人工智能·深度学习·transformer