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 27 Python
python网络编程之文件下载实例分析
May 20 Python
详解django中自定义标签和过滤器
Jul 03 Python
Python内建模块struct实例详解
Feb 02 Python
详解Python的数据库操作(pymysql)
Apr 04 Python
PyQt5 加载图片和文本文件的实例
Jun 14 Python
对Python的交互模式和直接运行.py文件的区别详解
Jun 29 Python
Python用字典构建多级菜单功能
Jul 11 Python
Python列表操作方法详解
Feb 09 Python
Python能做什么
Jun 02 Python
python右对齐的实例方法
Jul 05 Python
python 动态绘制爱心的示例
Sep 27 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 获取客户端的真实ip
2009/11/30 PHP
php 使用post,get的一种简洁方式
2010/04/25 PHP
php表单提交问题的解决方法
2011/04/12 PHP
使用Smarty 获取当前日期时间和格式化日期时间的方法详解
2013/06/18 PHP
使用php语句将数据库*.sql文件导入数据库
2014/05/05 PHP
解决PHP里大量数据循环时内存耗尽的方法
2015/10/10 PHP
PHP实现的多文件上传类及用法示例
2016/05/06 PHP
Zend Framework校验器Zend_Validate用法详解
2016/12/09 PHP
js 屏蔽鼠标右键脚本附破解方法
2009/12/03 Javascript
EasySlider 基于jQuery功能强大简单易用的滑动门插件
2010/06/11 Javascript
jquery判断checkbox(复选框)是否被选中的代码
2010/10/20 Javascript
简单的js表单验证函数
2013/10/28 Javascript
jquery实现移动端点击图片查看大图特效
2020/09/11 Javascript
JS实现iframe自适应高度的方法示例
2017/01/07 Javascript
快速掌握jQuery插件开发
2017/01/19 Javascript
详解vue-cil和webpack中本地静态图片的路径问题解决方案
2017/09/27 Javascript
Vue2.0学习系列之项目上线的方法步骤(图文)
2018/09/25 Javascript
基于Taro的微信小程序模板消息-获取formId功能模块封装实践
2019/07/15 Javascript
微信小程序tabBar设置实例解析
2019/11/14 Javascript
vue中实现点击按钮滚动到页面对应位置的方法(使用c3平滑属性实现)
2019/12/29 Javascript
详解vite2.0配置学习(typescript版本)
2021/02/25 Javascript
Python实现的数据结构与算法之快速排序详解
2015/04/22 Python
浅谈python中的面向对象和类的基本语法
2016/06/13 Python
实例探究Python以并发方式编写高性能端口扫描器的方法
2016/06/14 Python
python实现定时发送qq消息
2019/01/18 Python
python操作文件的参数整理
2019/06/11 Python
解决Python中报错TypeError: must be str, not bytes问题
2020/04/07 Python
django 实现后台从富文本提取纯文本
2020/07/02 Python
CSS3+js实现简单的时钟特效
2015/03/18 HTML / CSS
巴黎一票通:The Paris Pass
2018/02/10 全球购物
荣耀商城:HIHONOR
2020/11/03 全球购物
指针和引用有什么区别
2013/01/13 面试题
大学生学雷锋活动总结
2014/06/26 职场文书
上课不认真检讨书
2014/09/17 职场文书
2014年行政执法工作总结
2014/12/11 职场文书
python 统计代码耗时的几种方法分享
2021/04/02 Python