菜鸟学习日记(python)——匿名函数

Python 使用 lambda 来创建匿名函数。

lambda 函数是一种小型、匿名的内联函数,它可以具有任意数量的参数,但只能有一个表达式。

匿名函数的一般格式如下:

lambda 参数列表:表达式

表达式用于计算并返回函数结果

lambda 函数通常用于编写简单的、单行的函数,通常在需要函数作为参数传递的情况下使用,例如在 map()、filter()、reduce() 等函数中。

所谓匿名,意即不再使用 def 语句这样标准的形式定义一个函数。

  • lambda 只是一个表达式,函数体比 def 简单很多。
  • lambda 的主体是一个表达式,而不是一个代码块,通常只包含一行代码。仅仅能在 lambda 表达式中封装有限的逻辑进去。
  • lambda 函数拥有自己的命名空间,且不能访问自己参数列表之外或全局命名空间里的参数。
  • lambda 函数是匿名的,它没有函数名称,只能通过赋值给变量或作为参数传递给其他函数来使用。

以下是简单的匿名函数实例:

python 复制代码
#没有参数的匿名函数
str1=lambda:'hello python'
print(str1())
#有一个参数的匿名函数
num1=lambda a:a
print(num1(5))
#有多个参数的匿名函数
sum=lambda a,b,c:a+b+c
print(sum(1,2,3))

lambda 函数通常与内置函数如 map()、filter() 和 reduce() 一起使用,以便在集合上执行操作。

例如:

python 复制代码
from functools import reduce
list1=[1,2,3,4,5]
#map
cf=list(map(lambda a:a**2,list1))
print(cf)
#filter
os=list(filter(lambda a:a%2==0,list1))
print(os)
#reduce
qh=reduce(lambda a,b:a*b,list1)
print(qh)
相关推荐
谢白羽2 小时前
SGLang的AWQ量化笔记
笔记·python·sglang
sakiko_2 小时前
OC基础语法(与Swift对比)-1
开发语言·ios·objective-c·swift
迷迭香yy3 小时前
基金档案数据工程实战从收入分析到持仓穿透的Python解析 IG50免费开源股票数据API接口
开发语言·python
清水白石0083 小时前
Python 类型设计深度解析:TypedDict 能否替代 dataclass?从 JSON 数据边界到 API 设计的最佳实践
java·python·json
晊晌_h3 小时前
嵌入式从0到精通——线程
java·开发语言·jvm
m4Rk_3 小时前
【论文阅读】Agent 记忆机制(57):MemSearch-o1——从查询词元生长证据,重组 Deep Search 记忆路径
论文阅读·人工智能·学习·开源·github
一木 之林3 小时前
五、C++ 新特性、关键字与编译原理(进阶)(二)
java·开发语言·c++
️学习的小王3 小时前
Git项目提交忽略文件怎么做?以Python项目为例,详解.gitignore
git·python·elasticsearch
OPEN-F3 小时前
C++11/14新特性精讲:移动语义与智能指针实战
开发语言·c++·算法
小灰灰搞电子3 小时前
Rust+Slint 实现动态轮播图源码分享,支持动态删除、添加
开发语言·rust·slint·动态轮播图