python中偏函数partial用法实例分析


Posted in Python onJuly 08, 2015

本文实例讲述了python中偏函数partial用法。分享给大家供大家参考。具体如下:

函数在执行时,要带上所有必要的参数进行调用。但是,有时参数可以在函数被调用之前提前获知。这种情况下,一个函数有一个或多个参数预先就能用上,以便函数能用更少的参数进行调用。

例如:

In [9]: from functools import partial

In [10]: def add(a,b):
....: return a+b
....:

In [11]: add(4,3)
Out[11]: 7

In [12]: plus = partial(add,100)

In [13]: plus(9)
Out[13]: 109

In [14]: plus2 = partial(add,99)

In [15]: plus2(9)
Out[15]: 108

其实就是函数调用的时候,有多个参数 参数,但是其中的一个参数已经知道了,我们可以通过这个参数重新绑定一个新的函数,然后去调用这个新函数。

如果有默认参数的话,他们也可以自动对应上,例如:

In [17]: def add2(a,b,c=2):
....: return a+b+c
....:

In [18]: plus3 = partail(add,101)
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
/Users/yupeng/Documents/PhantomJS/<ipython-input-18-d4b7c6a6855d> in <module>()
----> 1 plus3 = partail(add,101)

NameError: name 'partail' is not defined

In [19]: plus3 = partial(add,101)

In [20]: plus3(1)
Out[20]: 102

In [21]: plus3 = partial(add2,101)

In [22]: plus3 = partial(add2,101) (1)
Out[22]: 104

In [23]: plus3(1)
Out[23]: 104

In [24]: plus3(1,2)
Out[24]: 104

In [25]: plus3(1,3)
Out[25]: 105

In [26]: plus3(1,30)
Out[26]: 132

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
python自动化测试之连接几组测试包实例
Sep 28 Python
Python脚本实现代码行数统计代码分享
Mar 10 Python
Django框架中方法的访问和查找
Jul 15 Python
python3的输入方式及多组输入方法
Oct 17 Python
Python hexstring-list-str之间的转换方法
Jun 12 Python
python实现ip代理池功能示例
Jul 05 Python
Django模板导入母版继承和自定义返回Html片段过程解析
Sep 18 Python
python基于celery实现异步任务周期任务定时任务
Dec 30 Python
Python3实现监控新型冠状病毒肺炎疫情的示例代码
Feb 13 Python
Django Haystack 全文检索与关键词高亮的实现
Feb 17 Python
关于Python字符串显示u...的解决方式
Mar 06 Python
python使用opencv resize图像不进行插值的操作
Jul 05 Python
Python使用bs4获取58同城城市分类的方法
Jul 08 #Python
Python实现批量修改文件名实例
Jul 08 #Python
Python查询阿里巴巴关键字排名的方法
Jul 08 #Python
浅谈Python中的闭包
Jul 08 #Python
Python中atexit模块的基本使用示例
Jul 08 #Python
python登录豆瓣并发帖的方法
Jul 08 #Python
python发送HTTP请求的方法小结
Jul 08 #Python
You might like
php项目打包方法
2008/02/18 PHP
php 判断数组是几维数组
2013/03/20 PHP
PHP中类属性与类静态变量的访问方法示例
2016/07/13 PHP
Prototype 学习 Prototype对象
2009/07/12 Javascript
JS 精确统计网站访问量的实例代码
2013/07/05 Javascript
from 表单提交返回值用post或者是get方法实现
2013/08/21 Javascript
Ionic实现仿通讯录点击滑动及$ionicscrolldelegate使用分析
2016/01/18 Javascript
JavaScript简单实现鼠标移动切换图片的方法
2016/02/23 Javascript
JQuery中attr属性和jQuery.data()学习笔记【必看】
2016/05/18 Javascript
jQuery实现左侧导航模块的显示与隐藏效果
2016/07/04 Javascript
js实现带缓动动画的导航栏效果
2017/01/16 Javascript
JS原生带小白点轮播图实例讲解
2017/07/22 Javascript
原生js+cookie实现购物车功能的方法分析
2017/12/21 Javascript
浅谈node中的cluster集群
2018/06/02 Javascript
python搜索指定目录的方法
2015/04/29 Python
Python之日期与时间处理模块(date和datetime)
2017/02/16 Python
浅谈function(函数)中的动态参数
2017/04/30 Python
pygame游戏之旅 按钮上添加文字的方法
2018/11/21 Python
Python实现SQL注入检测插件实例代码
2019/02/02 Python
浅谈Pytorch torch.optim优化器个性化的使用
2020/02/20 Python
vscode写python时的代码错误提醒和自动格式化的方法
2020/05/07 Python
CSS3轻松实现圆角效果
2017/11/09 HTML / CSS
西班牙英格列斯百货法国官网:El Corte Inglés法国
2017/07/09 全球购物
暑假实习求职信范文
2013/09/22 职场文书
自我评价200字分享
2013/12/17 职场文书
化学教师教学反思
2014/01/17 职场文书
行政人事专员岗位职责
2014/03/05 职场文书
消防安全员岗位职责
2014/03/10 职场文书
总经理助理的职责
2014/03/14 职场文书
民政局办理协议离婚(范本)
2014/10/25 职场文书
公司财务管理制度
2015/08/04 职场文书
病房管理制度范本
2015/08/06 职场文书
2016年度优秀辅导员事迹材料
2016/02/26 职场文书
85句关于理想的名言警句大全
2019/08/22 职场文书
Java输出Hello World完美过程解析
2021/06/13 Java/Android
PostgreSQL并行计算算法及参数强制并行度设置方法
2022/04/06 PostgreSQL