Python基本语法(函数partial)

函数partial

典型的,函数在执行时,要带上所有必要的参数进行调用。然而,有时参数可

以在函数被调用之前提前获知。在这种情况下,一个函数有一个或多个参数预先就

能用上,以便函数能用更少的参数进行调用。

在使用partial函数前,首先需要导入functools模块。

复制代码
import functools

案例2-9 partial函数的使用

复制代码
import functools

def add(a,b):
       return a+b

#1
print('\n#1')
rst1=add(4,2)
print('add(4,2)=',rst1)

plus3=functools.partial(add,3)
plus5=functools.partial(add,5)

#2
print('\n#2')
rst2=plus3(4)
print('plus3(4)=',rst2)

rst3=plus3(7)
print('plus3(7)=',rst3)

rst4=plus5(10)
print('plus5(10)=',rst4)

运行结果

复制代码
#1
add(4,2)= 6

#2
plus3(4)= 7
plus3(7)= 10
plus5(10)= 15

一个函数可以有多个参数,在有些情况下有的参数可以先得到,而有的参数需

要在后面的情景中才能知道,Python提供了partial函数用于携带部分参数生成一个

新函数。

复制代码
plus3=functools.partial(add,3)

把参数先传入函数add()中,生成一个新的函数plus3()。

复制代码
rst3=p1us3(4)

把最后获得的参数'7'传入函数plus3()中,因为第一个参数'3'已经先行传入,所

以最后的结果是3+4=7。

复制代码
plus3(7)= 10

同理,把最后获得的参数'7'传入函数plus3()中,最后获得的结果是3+7=10。

通过以上例子可以发现:

partial函数定义了一个匿名函数。

partial并不会带来程序运行效率的提高,只会使代码更简洁。

相关推荐
weixin_156241575761 分钟前
基于YOLOv8深度学习花卉识别系统摄像头实时图片文件夹多图片等另有其他的识别系统可二开
大数据·人工智能·python·深度学习·yolo
AI_Claude_code6 分钟前
ZLibrary访问困境方案三:Web代理与轻量级转发服务的搭建与优化
爬虫·python·web安全·搜索引擎·网络安全·web3·httpx
小陈工9 分钟前
2026年4月7日技术资讯洞察:下一代数据库融合、AI基础设施竞赛与异步编程实战
开发语言·前端·数据库·人工智能·python
时空无限15 分钟前
ansible 由于不同主机 python 版本不同执行报错
python·ansible
Cobyte18 分钟前
3.响应式系统基础:从发布订阅模式的角度理解 Vue2 的数据响应式原理
前端·javascript·vue.js
ZhengEnCi19 分钟前
P2E-Python字典操作完全指南-从增删改查到遍历嵌套的Python编程利器
python
alanesnape20 分钟前
使用AVL平衡树和列表实现 map容器 -- 附加测试/python代码
python·map·avl 平衡树·bst树·二叉树旋转
竹林81822 分钟前
从零到一:在React前端中集成The Graph查询Uniswap V3池数据实战
前端·javascript
Mintopia29 分钟前
别再迷信"优化":大多数性能问题根本不在代码里
前端
倾颜29 分钟前
接入 MCP,不一定要先平台化:一次 AI Runtime 的实战取舍
前端·后端·mcp