1. 函数形式

functools.partial(func[,*args][, **kwargs])

2. 例子

假设有如下函数:

def multiply(x, y):return x * y

现在,我们想返回某个数的双倍,即:

>>> multiply(3, y=2)
6
>>> multiply(4, y=2)
8
>>> multiply(5, y=2)
10

上面的调用有点繁琐,每次都要传入 y=2,我们想到可以定义一个新的函数,把 y=2 作为默认值,即:

def double(x, y=2):return multiply(x, y)

现在,我们可以这样调用了:

>>> double(3)
6
>>> double(4)
8
>>> double(5)
10

事实上,我们可以不用自己定义 double,利用 partial,我们可以这样:

from functools import partialdouble = partial(multiply, y=2)

3. 总结

partial 接收函数 multiply 作为参数,固定 multiply 的参数 y=2,并返回一个新的函数给 double,这跟我们自己定义 double 函数的效果是一样的。所以,简单而言,partial 函数的功能就是:把一个函数的某些参数给固定住,返回一个新的函数。需要注意的是,我们上面是固定了 multiply 的关键字参数 y=2。
————————————————

原文链接:https://blog.csdn.net/qq_33688922/article/details/91890142

partial()函数相关推荐

  1. python partial函数

    Python 提供了一个 functools 的模块,该模块为高阶函数提供支持,partial 就是其中的一个函数,该函数的形式如下: functools.partial(func[,*args][, ...

  2. partial 函数之参数传入

    partial 函数之参数传入 zj@zj-virtual-machine:/tmp$ cat callback.py #!/usr/bin/env python # coding=utf-8 fro ...

  3. partial函数介绍(含代码示例)

    partial函数介绍 partial函数在python的functools模块中,这个函数原型如下: partial(func, *args, **keywords) 这个函数调用时,返回一个par ...

  4. partial 函数

    点击这里成为作者 · 更新于 2019-07-09 15:52:57 partial 函数 Python 提供了一个 functools 的模块,该模块为高阶函数提供支持,partial 就是其中的一 ...

  5. python函数知识点总结_python函数map()和partial()的知识点总结

    map()是python的一个内建函数, 他能够通过函数来处理序列,比如,我们相关一个数组[0,1,2,3,4,5]所有的数字都+2 , 当然,我们可以这么做 old = [0,1,2,3,4,5] ...

  6. python偏函数_Python--偏函数(Partial)

    出处  https://blog.csdn.net/Appleyk/article/details/77609114 一.什么是偏函数? (1)在Python的functools模块众多的功能中,其中 ...

  7. 打造属于自己的underscore系列(五)- 偏函数和函数柯里化

    这一节的内容,主要针对javascript函数式编程的两个重要概念,偏函数(partial application) 和函数柯里化(curry)进行介绍.着重讲解underscore中对于偏函数应用的 ...

  8. python functools.wraps functools.partial实例解析

    一:python functools.wraps 实例 1. 未使用wraps的实例 #!/usr/bin/env python # coding:utf-8def logged(func):def ...

  9. python3 协程asyncio 调用步骤、阻塞和await、task任务、future对象 partial

    首先介绍一下 偏函数 如果需要减少某个函数的参数个数,你可以使用 functools.partial() [作用一]:partial() 函数允许你给一个或多个参数设置固定的值,减少接下来被调用时的参 ...

最新文章

  1. Python——反射
  2. CentOS 5.5高负载下,网卡会自动断开
  3. webpack把源代码里面的console和debugger全部去掉_在webpack中,module、chunk和bundle到底是什么样的存在?...
  4. 服务器设置为自动登录,Windows Server 2008 R2怎样设置自动登陆(登录)
  5. 台式计算机如何连接vif,关于计算机二级( VIF ) 县城有高手吗? 急寻
  6. LeetCode 101. 对称二叉树 思考分析
  7. 使用WCF建立起Silverlight客户端与服务端的桥梁
  8. 第二章作业-第1题-万世想
  9. 虚拟串口VSPD和XCOM的下载+安装+使用
  10. 2022-2027年中国分散染料行业市场全景评估及发展战略规划报告
  11. C语言刷题随记 —— 国际象棋棋盘
  12. 转载--我的AI转型之路与AI之我见(非985211的奋斗路程与视角)
  13. 计算机表格怎么加减乘除,在EX表格里怎么进行加减乘除法的计算
  14. shell编程—tomcat自动发包详解
  15. 央视春晚歌手王琪,和戏歌双绝吴广全在长春芝华仕会盟
  16. 奶爸日记 - 祝你生日快乐
  17. OCR:OCR识别如何处理字体大小不一致的问题
  18. 嵌入式和Python的区别是什么?
  19. 倍福NC轴编码器Enc parameters释义
  20. C语言数据的存储详解

热门文章

  1. Windows网络编程:Winsock实现客户端与服务器文件传输(TCP/IP)
  2. 中国IDC行业年度综合实力排名前十
  3. IT创业见闻04-创业需具备最重要的资源是什么
  4. 深度学习中epoch,batch的概念--笔记
  5. 7-351 狡猾的财主
  6. 问卷排序题应该怎样分析?
  7. 基于matlab的人脸识别算法
  8. 【Android】 Color 颜色设置
  9. 人工智能识病虫害,API来提前防治
  10. 突发!Log4j 爆“核弹级”漏洞,Flink 等项目受影响,提供 Flink 解决方法,赶紧修!...