2018-6-6
偏函数-Partial function
int()
函数额外提供base
参数,默认值为10,可以用来做N进制的转换。
>>> int('12345', base=8)
5349
>>> int('12345', 16)
74565
但是一切代码需要从简,需要多次使用,如果要进行大量的N进制转换,每次都需要使用base参数,很麻烦。那么就可以定义一个int2()
函数,默认把base=2
传入:
def int2(x, base=2):
return int(x, base)
同样python中提供了functools.partial
,供我们创建偏函数,就省去了自定义int2()
。
>>> import functools
>>> int2 = functools.partial(int, base=2)
>>> int2('1000000')
64
>>> int2('1010101')
85
这样子下的int2是不是看起来简洁很多~
但是functools.partial
仅仅是固定了默认参数,进行调用时依然可以重新给定base值。