# 这是学习廖雪峰老师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),会固定第一个参数
原文地址:http://blog.51cto.com/12758568/2116748
时间: 2024-10-07 07:26:44