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

 更新时间:2015年07月08日 12:24:39   作者:yupeng  
这篇文章主要介绍了python中偏函数partial用法,实例分析了偏函数partial的功能、定义及使用方法,需要的朋友可以参考下

本文实例讲述了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+Tkinter实现高颜值桌面便签工具

    Python+Tkinter实现高颜值桌面便签工具

    在快节奏的现代生活中,高效的任务管理成为提升生产力的关键,本文将带你用Python的Tkinter库开发一款轻量级桌面便签工具,感兴趣的小伙伴可以参考一下
    2025-04-04
  • Python操作Excel数据的封装函数分享

    Python操作Excel数据的封装函数分享

    对比其它编程语言,我们都知道Python最大的优势是代码简单,有丰富的第三方开源库供开发者使用。而对于数据的读取和存储,对于普通人来讲,除了数据库之外,最常见的就是微软的Excel。本文为大家准备了Python操作Excel数据的封装函数,希望对大家有所帮助
    2022-11-11
  • python3 mmh3安装及使用方法

    python3 mmh3安装及使用方法

    这篇文章主要介绍了python3 mmh3安装及使用方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-10-10
  • 浅谈Python之Django(四)

    浅谈Python之Django(四)

    这篇文章主要介绍了Python3中的Django,小编觉得这篇文章写的还不错,需要的朋友们下面随着小编来一起学习学习吧,希望能够给你带来帮助
    2021-10-10
  • Django2.2配置xadmin的实现

    Django2.2配置xadmin的实现

    这篇文章主要介绍了Django2.2配置xadmin的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • pyQt4实现俄罗斯方块游戏

    pyQt4实现俄罗斯方块游戏

    这篇文章主要为大家详细介绍了pyQt4实现俄罗斯方块游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-06-06
  • Python中的面向对象编程详解(下)

    Python中的面向对象编程详解(下)

    这篇文章主要介绍了Python中的面向对象编程详解(下),本文讲解了继承、super关键字、重写、多重继承、类、实例和其他对象的内建函数、私有化等内容,需要的朋友可以参考下
    2015-04-04
  • Python实现随机生成迷宫并自动寻路

    Python实现随机生成迷宫并自动寻路

    最近在学习Python,正好今天在学习随机数,本文实现了Python实现随机生成迷宫并自动寻路,感兴趣的可以了解一下
    2021-06-06
  • Pytest使用logging模块写日志的实例详解

    Pytest使用logging模块写日志的实例详解

    logging是python语言中的一个日志模块,专门用来写日志的,日志级别通常分为debug、info、warning、error、critical几个级别,一般情况下,默认的日志级别为warning,在调试或者测试阶段,下面就快速体验一下logging模块写日志的用法,感兴趣的朋友跟随小编一起看看吧
    2022-12-12
  • python3多重排序处理多数据的示例详解

    python3多重排序处理多数据的示例详解

    Python3的多重排序通常指的是对数据集合按照两个或多个人数属性进行排序的过程,这可以通过将多个排序关键字作为元组传递给内置的sorted()函数或者是使用列表推导式结合lambda函数完成,本文详细分析了python3多重排序处理多数据,需要的朋友可以参考下
    2024-07-07

最新评论