【Python】偏函數

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章