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

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

这样,我们转换二进制就非常方便了:

>>> int2('1000000')
64
>>> int2('1010101') 85 

functools.partial就是帮助我们创建一个偏函数的,不需要我们自己定义int2(),可以直接使用下面的代码创建一个新的函数int2

>>> import functools
>>> int2 = functools.partial(int, base=2)
>>> int2('1000000') 64 >>> int2('1010101') 85 

所以,简单总结functools.partial的作用就是,把一个函数的某些参数给固定住(也就是设置默认值),返回一个新的函数,调用这个新函数会更简单。

创建偏函数时,实际上可以接收函数对象、*args**kw这3个参数(事实上原文后半段内容没看懂)

转载于:https://www.cnblogs.com/niulang/p/9007662.html

Python实用笔记 (16)函数式编程——偏函数相关推荐

  1. python精简笔记(五)——函数式编程

    函数式编程就是一种抽象程度很高的编程范式,纯粹的函数式编程语言编写的函数没有变量,因此,任意一个函数,只要输入是确定的,输出就是确定的,这种纯函数我们称之为没有副作用.而允许使用变量的程序设计语言,由 ...

  2. 【廖雪峰Python学习笔记】函数式编程

    Functional Programming 高阶函数 返回函数 匿名函数 装饰器 偏函数 高阶函数 面向过程的程序设计: 把大段代码拆成函数,通过一层层函数调用,可将复杂任务分解成若干简单的任务 函 ...

  3. 【廖雪峰python进阶笔记】函数式编程

    1. 高阶函数 高阶函数就是可以把函数作为参数的函数,下面我们看一个简单的高阶函数: def add(x, y, f):return f(x) + f(y) 如果传入abs作为参数f的值: add(- ...

  4. Python学习笔记之函数式编程

    python中的高阶函数 高阶函数就是 变量名指向函数,下面代码中的变量abs其实是一个函数,返回数字的绝对值,如abs(-10) 返回 10 def add(x,y,f):return f(x) + ...

  5. Python学习笔记·交互式图形编程

    Python学习笔记·交互式图形编程 注:在校计算机学生一名,菜鸟一枚,最近开始学习Python的基础知识希望有什么不对的地方各位大佬能够不令赐教! 课程是在中国大学MOOC上学的,有兴趣的同学可以自 ...

  6. Python学习笔记三之编程练习:循环、迭代器与函数

    Python学习笔记三之编程练习 1. 编程第一步 # 求解斐波纳契数列 #/user/bin/python3#Fibonacci series:斐波那契数列 #两个元素的总和确定了下一个数 a,b= ...

  7. Modern C++ 学习笔记——C++函数式编程

    往期精彩: Modern C++ 学习笔记--易用性改进篇 Modern C++ 学习笔记 -- 右值.移动篇 Modern C++ 学习笔记 -- 智能指针篇 Modern C++ 学习笔记 -- ...

  8. Python学习笔记16:实操案例十三(编写程序实现乐手弹奏乐器,设计自定义类表达出租车和家用轿车信息)

    Python学习笔记16:实操案例十三(编写程序实现乐手弹奏乐器,设计自定义类表达出租车和家用轿车信息) 1.编写程序实现乐手弹奏乐器 注意Python的多态是"鸭子类型",只要有 ...

  9. 廖雪峰--python教程:笔记四-函数式编程

    函数式编程: 概念:是一种抽象程度很高的编程方式,允许将一个函数作为参数传入另一个函数,还允许返回一个函数. 接下来介绍: map/reduce,filter,stored函数,返回函数,匿名函数,装 ...

  10. Python修饰器的函数式编程

    转载自:https://coolshell.cn/articles/11265.html 加了一些自己的注释. Python的修饰器的英文名叫Decorator,当你看到这个英文名的时候,你可能会把其 ...

最新文章

  1. 你还在等着用户反馈BUG?
  2. java链式栈_Java栈之链式栈存储结构实现
  3. 解决centos KDE命令提示符和文字不紧贴的问题
  4. 掌握神经网络,我应该学习哪些至关重要的知识点?
  5. automake使用实例
  6. SAP License:SAP Solution Manager中的常用命令
  7. 公共代码参考(DisplayMetrics)
  8. 对volatile不具有原子性的理解
  9. win10的文件夹(文件资源管理器)卡住了
  10. 关于Tricomi方程的类型分析与标准型求解
  11. Java编程练习题3
  12. 如何找到想要的资源?
  13. Topsis方法对数据综合评价
  14. Android studio 导入项目运行
  15. 暴力解决mui框架跳转问题
  16. 自动更改IP地址反爬虫封锁
  17. 如何查看远程端口是否打开
  18. IC 后端仿真: process corner 和 PVT
  19. opencv相机标定模块解析
  20. 把数组对象[{key1:val1},{key2:val2}] 的key val 分割成独立的数组

热门文章

  1. 方法 - 查询到本周的日期
  2. 人生的意义—我们为什么活着?
  3. 斯诺克之星 - 白沙台球杆 官方 及 派蔻台球杆 官方 www.snkstar.com - 最专业的台球杆销售网站...
  4. 为 Jupyter Notebook指定虚拟环境的 Python 解释器
  5. TI 实时操作系统SYS/BIOS使用总结
  6. Ubuntu10.04下PDF中文无法显示或显示乱码的解决方法
  7. MySQL高级能量预警
  8. The project you were looking for could not be found
  9. Poemscape|Beta阶段第九天
  10. 微信tocken后台后台保存方法