functools.
partial
(
func
,* args
,**關鍵字
)返回乙個新的部分物件
,當被呼叫時,其行為類似於
使用位置引數
args
和關鍵字引數
關鍵字呼叫的
func
。args
。如果提供了其他關鍵字引數,則它們會擴充套件和覆蓋
關鍵字。
簡單說就是把乙個函式,和該函式所需傳的引數封裝到乙個class 'functools.partial'的類中,簡化以後的呼叫方式
#官方例項
from functools import
partial
#將乙個二進位制的字串傳承int數字型別
#將函式和引數封裝到乙個指定變數名中,下次執行直接呼叫加()
定義乙個加減乘除的類
class
calculate(object):
md=["
add","
minus
","multiplication
","division"]
def__init__(self,method,num1=0, num2=0):
self.num1 =num1
self.num2 =num2
if method in
self.md:
func=getattr(calculate,method)
self.result=func(self)
defadd(self):
return self.num1 +self.num2
defminus(self):
return self.num1 -self.num2
defmultiplication(self):
return self.num1 *self.num2
defdivision(self):
return self.num1 /self.num2
add=partial(calculate,"
add"
)minus=partial(calculate,"
minus")
multiplication=partial(calculate,"
multiplication")
division=partial(calculate,"
division
")
#呼叫剛剛寫好的類的py檔案
from functool_learn import
functool_employ
res=functool_employ.add(3, 5)
(res.result)
res=functool_employ.minus(3, 5)
(res.result)
res=functool_employ.multiplication(3, 5)
(res.result)
res=functool_employ.division(3, 5)
print(res.result)
functools模組中的函式
補充 partial方法 python 中提供一種用於對函式固定屬性的函式 與數學上的偏函式不一樣 通常會返回10進製 int 12345 print 12345 使用引數 返回 8進製 int 11111 8 print 4681 每次都得新增引數比較麻煩,functools提供了partial的...
Python中functools模組的常用函式解析
1.partial 首先是partial函式,它可以重新繫結函式的可選引數,生成乙個callable的partial物件 int 10 實際上等同於int 10 base 10 和int 10 10 10 int 10 2 實際上是int 10 base 2 的縮寫 2 from functools...
Python標準模組 functools
functools,用於高階函式 指那些作用於函式或者返回其它函式的函式,通常只要是可以被當做函式呼叫的物件就是這個模組的目標。在python 2.7 中具備如下方法,cmp to key,將乙個比較函式轉換關鍵字函式 partial,針對函式起作用,並且是部分的 reduce,與python內建的...