在Python中有許多偏函數( Partial function)可以使用,常見的就是string的轉換
ex :
int('50') #50
這個例子就是把string type的50轉換成int的50,而且是10進制
那好,問題來了,能不能變成8/16等進制呢?可以,就是加上base的參數,沒有加上的話,默認會是10進制
ex :
int('50') #50
int('50',base=8) #40
int('50',base=16) #80
在python中有一個工具叫做functools,理面整合許多Partial function,因此針對上面的例子可以改寫為
ex:
import functools
int2=functools.partial(int,base=8)
int2('50') # 40
簡單方便的用法,但也不是說不能改喔
雖然定義了默認的轉換是8,但可以手動加上base參數轉成想要的
ex:
int2('50',base=16) #80
其實這樣的用法只是相當於固定原有函式的參數默認值,所以實際上是可以修改的,寫法只是方便調用罷了
沒有留言:
張貼留言