import?time
def?performance(f):
????def?fn(*args,?**kw):
????????t1?=?time.time()
????????r?=?f(*args,?**kw)
????????t2?=?time.time()
????????print?'call?%s()?in?%fs'?%?(f.__name__,?(t2?-?t1))
????????return?r
????return?fn
@performance
def?factorial(n):
????return?reduce(lambda?x,y:?x*y,?range(1,?n+1))
print?factorial(10)參考代碼里,有幾個(gè)地方不懂,求教 1:f(*args, **kw)是什么意思,也沒(méi)有定義以f命名的函數(shù),為什么可以這樣用2:還有一個(gè)是f.__name__ 為什么可以這么用?
編寫(xiě)無(wú)參數(shù)decorator
SakuraGaara
2016-01-21 15:24:22