什么是偏函数partial
python中提供一种对于函数固定属性的函数
偏函数的作用
把一个函数的某些参数给固定住(也就是设置默认值),返回一个新的函数
偏函数的语法
使用偏函数必须先导入
from functools import partial
函数格式:partial(func, *args, **kwargs)
- func:代表函数名
- *args:func函数的不定长参数
- **kwargs:func函数的关键字参数
案例1
from functools import partialbin2dec = partial(int, base=2) # 把 int 的转换设为二进制了,这里 base 是 int 函数表示进制的参数。print(bin2dec(\'0b10001\') ) # 17print(bin2dec(\'10001\')) # 17hex2dec = partial(int, base=16) # 把 int 的转换设为16进制print(hex2dec(\'0x67\')) # 103print(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原则,节省编程成本。