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值。