# 这是学习廖雪峰老师 python 教程的学习笔记
1, 概览
偏函数 (Partial function) 是 functools 模块的一个功能
functools.partial 的作用就是, 在一个已存在的函数基础上. 把它的某些参数给固定住(也就是设置默认值), 然后返回一个新的函数, 调用这个新函数会更简单.
1.1,functools. partial 应用
已知:
int 函数可以将 '123' -- 123.
int 的 base 参数可以做 N 进制的转换
- >>> int('12345', base=8)
- 5349
- >>> int('12345', 16)
- 74565
使用:
- # partial 定义一个 固定 2 进制转换的函数
- int2 = functools.partial(int, base=2) # 定义过后, 我们依然可以用其他值替换 base 值, 就像默认参数一样
解析:
创建偏函数时, 实际上可以接收函数对象,*args 和 **kw 这 3 个参数.
当传入:
int2 = functools.partial(int, base=2)
相当于:
- kw = { 'base': 2 } # 固定了一个关键字参数
- int('10010', **kw)
当传入:
max2 = functools.partial(max, 10) # 将 10 作为 *args 的一部分, 自动加到了右边
相当于:
- args = (10, 5, 6, 7)
- max(*args)
补充:
对于像 pow() 参数 ,range()参数, 有多个参数的情况下.
p=functools.partial(pow,2), 会固定第一个参数
Python 学习笔记__4.5 章 偏函数(绑定函数参数)
来源: http://www.bubuko.com/infodetail-2602919.html