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进阶教程之文本文件的读取和写入
Aug 29 Python
Python初学时购物车程序练习实例(推荐)
Aug 08 Python
python版微信跳一跳游戏辅助
Jan 11 Python
python 将md5转为16字节的方法
May 29 Python
Python读取mat文件,并保存为pickle格式的方法
Oct 23 Python
pandas基于时间序列的固定时间间隔求均值的方法
Jul 04 Python
python manage.py runserver流程解析
Nov 08 Python
Python networkx包的实现
Feb 14 Python
Python字符串split及rsplit方法原理详解
Jun 29 Python
Java byte数组操纵方式代码实例解析
Jul 22 Python
python excel多行合并的方法
Dec 09 Python
Python中的xlrd模块使用整理
Jun 15 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
Discuz! 5.0.0论坛程序中加入一段js代码,让会员点击下载附件前自动弹出提示窗口
2007/04/18 PHP
PHP下几种删除目录的方法总结
2007/08/19 PHP
Pain 全世界最小最简单的PHP模板引擎 (普通版)
2011/10/23 PHP
Apache无法自动跳转却显示目录的解决方法
2020/11/30 PHP
py文件转exe时包含paramiko模块出错解决方法
2016/08/12 PHP
浅谈laravel数据库查询返回的数据形式
2019/10/21 PHP
ListBox实现上移,下移,左移,右移的简单实例
2014/02/13 Javascript
javascript中拼接HTML字符串的最快、最好的方法
2014/06/07 Javascript
node.js中的fs.readdir方法使用说明
2014/12/17 Javascript
javascript实现详细时间提醒信息效果的方法
2015/03/11 Javascript
深入剖析javascript中的exec与match方法
2016/05/18 Javascript
NodeJS处理Express中异步错误
2017/03/26 NodeJs
js简单实现网页换肤功能
2017/04/07 Javascript
socket.io与pm2(cluster)集群搭配的解决方案
2017/06/02 Javascript
解决Vue+Element ui开发中碰到的IE问题
2018/09/03 Javascript
详解npm 配置项registry修改为淘宝镜像
2018/09/07 Javascript
微信小程序实现蒙版弹窗效果
2018/11/01 Javascript
vue.js iview打包上线后字体图标不显示解决办法
2020/01/20 Javascript
Vue实现简单的拖拽效果
2020/08/25 Javascript
python如何查看系统网络流量的信息
2016/09/12 Python
ubuntu中配置pyqt4环境教程
2017/12/27 Python
Python for循环中的陷阱详解
2018/07/13 Python
Django框架 Pagination分页实现代码实例
2019/09/04 Python
python爬虫-模拟微博登录功能
2019/09/12 Python
Python Socketserver实现FTP文件上传下载代码实例
2020/03/27 Python
简述 Python 的类和对象
2020/08/21 Python
基于html和CSS3制作酷炫的导航栏
2015/09/23 HTML / CSS
HTML5中5个简单实用的API(第二篇,含全屏、可见性、拍照、预加载、电池状态)
2014/05/07 HTML / CSS
StubHub墨西哥:购买和出售您的门票
2016/09/17 全球购物
模具设计与制造专业应届生求职信
2013/10/18 职场文书
CNC数控操作工岗位职责
2013/11/19 职场文书
项目经理助理岗位职责
2015/04/13 职场文书
2015年秘书个人工作总结
2015/04/25 职场文书
甜美蛋糕店的创业计划书模板,拿来即用!
2019/08/21 职场文书
导游词之苏州阳澄湖
2019/11/15 职场文书
keepalived + nginx 实现高可用方案
2022/12/24 Servers