大家好,又见面了,我是你们的朋友全栈君。
python中提供一种对于函数固定属性的函数
把一个函数的某些参数给固定住(也就是设置默认值),返回一个新的函数
使用偏函数必须先导入from functools import partial
函数格式:partial(func, *args, **kwargs)
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
partial_max = partial(max, 100)
print(partial_max(1, 2, 99)) # 100
上面是给max()
函数设定了一个默认参数100,返回一个新函数,当我们传入参数(1, 2, 99)
实际上参数中还有一个默认值100,相当于(100, 1, 2, 99)
,所以得出的最大值为100
偏函数的这些应用看似简单,用途却很大,可以很好的执行DRY原则,节省编程成本。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/165062.html原文链接:https://javaforall.cn