什么是偏函数partial
python中提供一种对于函数固定属性的函数
偏函数的作用
把一个函数的某些参数给固定住(也就是设置默认值),返回一个新的函数
偏函数的语法
使用偏函数必须先导入from functools import partial
函数格式:partial(func, *args, **kwargs)
- func:代表函数名
- *args:func函数的不定长参数
- **kwargs:func函数的关键字参数
案例1
from functools import partial
bin2dec = partial(int, base=2) # 把 int 的转换设为二进制了,这里 base 是 int 函数表示进制的参数。
print(bin2dec('0b10001') ) # 17
print(bin2dec('10001')) # 17
hex2dec = partial(int, base=16) # 把 int 的转换设为16进制
print(hex2dec('0x67')) # 103
print(hex2dec('67')) # 103
案例2
partial_max = partial(max, 100)
print(partial_max(1, 2, 99)) # 100
上面是给max()
函数设定了一个默认参数100,返回一个新函数,当我们传入参数(1, 2, 99)
实际上参数中还有一个默认值100,相当于(100, 1, 2, 99)
,所以得出的最大值为100
偏函数的这些应用看似简单,用途却很大,可以很好的执行DRY原则,节省编程成本。