偏函数:

当一个函数有很多参数时,调用者就需要提供多个参数。如果减少参数个数,就可以简化调用者的负担。比如,int()函数可以把字符串转换为整数,当仅传入字符串时,int()函数默认按十进制转换,但int()函数还提供额外的base参数,默认值为10。如果传入base参数,就可以做 N 进制的转换:

>>> int('12345', base=8)
5349
>>> int('12345', 16)
74565

假设要转换大量的二进制字符串,每次都传入int(x, base=2)非常麻烦,于是,我们想到,可以自定义一个int2()的函数,默认把base=2传进去:

def int2(x, base=2):return int(x, base)

但是有更简单的方法吗?functools.partial就是帮助我们创建一个偏函数的,不需要我们自己定义int2(),可以直接使用下面的代码创建一个新的函数int2:

'''
学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
>>> import functools
>>> int2 = functools.partial(int, base=2)
>>> int2('1000000')
64
>>> int2('1010101')
85

functools.partial可以把一个参数多的函数变成一个参数少的新函数,少的参数需要在创建时指定默认值,这样,新函数调用的难度就降低了。

python中的偏函数相关推荐

  1. Python中的偏函数和函数柯里化

    偏函数(partial)和函数柯里化(currying)是函数式编程中常用的技术.有时候我们在复用已有函数时可能需要固定其中的部分参数,这除了可以通过默认值参数来实现之外,还可以使用偏函数.例如有个函 ...

  2. python 偏函数_详细介绍Python中的偏函数

    机器学习实战之Logistic回归 本文来自云栖社区官方钉群"Python技术进阶",了解相关信息可以关注"Python技术进阶". 本系列教程特点: 基于&l ...

  3. python中的偏函数:partical function

    先直接说结论:偏函数functools.partial的作用就是,把一个函数的某些参数给固定住(也就是设置默认值),返回一个新的函数,调用这个新函数会更简单. 详细介绍: Python的functoo ...

  4. Python 中的闭包、匿名函数、decorator 装饰器与python的偏函数

    Python中的闭包 def calc_sum(lst):def lazy_sum():return sum(lst)return lazy_sum 像这种内层函数引用了外层函数的变量(参数也算变量) ...

  5. python中symbols函数用法_Python中偏函数用法示例

    本文实例讲述了Python中偏函数用法.分享给大家供大家参考,具体如下: python中偏函数 当一个函数有很多参数时,调用者就需要提供多个参数.如果减少参数个数,就可以简化调用者的负担. 比如,in ...

  6. 在python中、下列代码的输出是什么-python面试题

    1.下面这段代码的输出结果是什么?请解释. def extendList(val, list=[]): list.append(val)returnlist list1= extendList(10) ...

  7. 在python中、下列代码的输出是什么-python面试题详细总结(附答案)

    本篇文章给大家带来的内容是关于python面试题总结(附答案),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. CPS少儿编程网-Scratch_Python_教程_免费儿童编程学习平 ...

  8. 在python中、下列代码的输出是什么-Python 面试中 8 个必考问题

    1.下面这段代码的输出结果是什么?请解释. def extendList(val, list=[]): list.append(val) return list list1 = extendList( ...

  9. Python中的partial便函数的理解

    偏函数(Partial function)是通过将一个函数的部分参数预先绑定为某些值,从而得到一个新的具有较少可变参数的函数.在Python中,可以通过functools中的partial高阶函数来实 ...

最新文章

  1. 基于移动机器人的拣货系统研究进展
  2. Python包管理工具pip安装
  3. Repeater使用 AspNetPager分页控件
  4. struts2配置文件(简单)
  5. java中的堆、栈、方法区等比较
  6. 工作34:第三方登录
  7. 广州python平均薪资_11 月全国程序员平均工资出炉,看看的你得薪资跟上平均水平了吗。...
  8. 教资支付显示找不到服务器,教师资格证报名支付的问题,点了支付总是找不到服..._教师资格考试_帮考网...
  9. ssh localhost报错解决:ubuntu@localhost: Permission denied (publickey).
  10. iOS中 语音识别功能/语音转文字教程详解
  11. acdream 1201 SuSu's Power dp
  12. SAPGUI 里 F1 功能键的用法专题讲解试读版
  13. 6.6 PowerBI系列之DAX函数专题 -调节器TREATAS动态建立关系
  14. PHP中的网络编程 -- Socket篇
  15. 【Linux】通过Mac终端连接虚拟机(ssh root@192.168.31.230)
  16. 渗透测试——joker靶场漏洞复现
  17. 【漏洞挖掘】QQ钓鱼网站实战渗透
  18. 在歌唱比赛中,共有10位评委进行打分(0-100分的区间),在计算歌手得分时, 去掉一个最高分,去掉一个最低分,然后剩余的8位评委的分数进行平均, 就是该选手的最终得分。输入每个评委的评分,求某选
  19. Access denied for user 'mysql用户名'@'主机或IP' (using password: YES)'
  20. 跌倒自动检测雷达的应用

热门文章

  1. LZW算法PHP实现方法 lzw_decompress php
  2. css3 画半圆和1/4圆
  3. Linux程序编译速度提高方法
  4. java build返回空值_将来与Flutter中的FutureBuilder一起返回null
  5. python中自定义函数如何传递动态参数_python 函数的动态参数
  6. 【学习笔记】Python - tkinter
  7. 物料帐结算,库存差异为何在下月初冲回
  8. 销售凭证中的几个日期
  9. BASISI系统中如何配置web service
  10. SAP 解决长时间不操作掉线问题