匿名函数、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

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

相关推荐
用户17335980753717 小时前
Vue 3 SPA 首屏优化:从 3s 到 1.2s 的 5 个实践
前端·vue.js
咖啡无伴侣17 小时前
基础骨架:30 分钟搭好 pnpm workspace,完成双项目 Monorepo 迁入
前端
谷无姜17 小时前
Webpack5 进阶思考:那些官方文档没讲清楚的事
前端·webpack
weedsfly17 小时前
还在用 Axios?你可能需要重新理解 XHR 与 Fetch
前端·javascript·面试
CoderWeen17 小时前
从零实现一个 Vue3 流程图编辑器:节点拖拽、贝塞尔连线与框选
前端·javascript
森鹿17 小时前
express中间件原理以及大致实现
前端·express
光影少年17 小时前
HashRouter 和 BrowserRouter 区别、底层原理、部署差异
前端·react.js·nestjs
柯克七七17 小时前
我把祖传项目的构建时间砍了90%,领导以为我只是在"优化了一下",结果隔壁组的CI都崩了来问我配置
前端·webpack
风骏时光牛马17 小时前
JSP页面直接输出实体对象空属性引发页面500报错实战案例
前端
戴为沐17 小时前
Linux内存扩容指南
linux