匿名函数、lambda匿名函数 ( Everything is up to us!)

1、匿名函数

在前面的函数学习中,我们一直使用的函数,都是接受数据作为参数传入:

·数字

·字符串

·字典、列表、元组等

其实,我们学习的函数本身,也可以作为参数传入另一个函数内。

1) 函数作为参数传递

python 复制代码
# 定义一个函数,接收另一个函数作为传入函数
def test_func(compute):
    result = compute(1, 2)  # 确定compute是函数
    print(f"compute参数类型是:{type(compute)}")
    print(f"计算结果是:{result}")

def compute(x, y):
    return x + y

test_func(compute)

# compute参数类型是:<class 'function'>
# 计算结果是:3

2)注意

·函数本身是可以作为函数,传入另一个函数中进行使用。

·将函数传入的作用在于:传入计算逻辑,而非传入数据。

2、lambda匿名函数

1)def关键字与lambda关键字的区别

在函数的定义中,

·def关键字,可以定义带有名称的函数

·lambda关键字,可以定义匿名函数(无名称)

(有名称的函数,可以基于名称重复使用,无名称的函数,只可临时使用一次。)

2)匿名函数定义语法

lambda 传入参数 : 函数体(一行代码):

·lambda是关键字,表示定义匿名函数

·传入参数表示匿名函数的形式参数,如:x,y表示接收2个形式参数

·函数体,表示函数的执行逻辑,要注意:只能写一行,无法写多行代码

python 复制代码
def test_func(compute):
    result = compute(1, 2)
    print(f"计算结果{result}")

test_func(lambda x , y : x + y)

# 计算结果3

完结 🎉 多加练习吖 继续更新 加个关注收藏一下叭~

相关推荐
一个天蝎座 白勺 程序猿2 小时前
Python爬虫(47)Python异步爬虫与K8S弹性伸缩:构建百万级并发数据采集引擎
爬虫·python·kubernetes
我爱云计算2 小时前
K8S详解(5万字详细教程)
linux·运维·云原生·容器·kubernetes
li35742 小时前
将已有 Vue 项目通过 Electron 打包为桌面客户端的完整步骤
前端·vue.js·electron
Icoolkj3 小时前
VuePress 与 VitePress 深度对比:特性、差异与选型指南
前端·javascript·vue.js
XiaoMu_0013 小时前
基于Django+Vue3+YOLO的智能气象检测系统
python·yolo·django
excel3 小时前
CNN 分层详解:卷积、池化到全连接的作用与原理
前端
excel3 小时前
CNN 多层设计详解:从边缘到高级特征的逐层学习
前端
honder试试4 小时前
焊接自动化测试平台图像处理分析-模型训练推理
开发语言·python
^Rocky4 小时前
JavaScript性能优化实战
开发语言·javascript·性能优化
心本无晴.4 小时前
Python进程,线程
python·进程