課程
/后端開發
/Python
/python進階
請問r = f(*args, **kw)為什么最后返回值是r,哪么r表示什么?
2015-03-30
源自:python進階 2-12
正在回答
# 猜測你說的應該是這里面的如下解釋
import time?
def performance(f):
? ? def fn(*args,**kw):
? ? ? ? t1 = time.time()????# 定義程序執行前的時間戳,獲取時間值
? ? ? ? r = f(*args,**kw) ? # 運行函數f 這里的*args 和**kw保證任意的參數總是能正常調用 如果你程序些的形參實參能對應起來也可以不這么些
? ? ? ? t2 = time.time() ? # 定義程序執行結束時候的時間戳,獲取去時間值
? ? ? ? print 'call %s() in %fs'%(f.__name__,(t2-t1))
? ? ? ? return r
? ? return fn?
@performance # 運行下面的函數時候@performance裝飾器 并且傳入函數(這里就是lambda函數及對應形參f)
def factorial(n):
? ? return reduce(lambda x,y:x*y,range(1,n+1))
print factorial(10)
記得給好評哦 ?親
linkBG 提問者
慕容2280288
Python3獲取時間戳失敗,t2與t1時間戳相同,t2-t1返回值一直為0
不錯!
舉報
學習函數式、模塊和面向對象編程,掌握Python高級程序設計
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2015-04-01
# 猜測你說的應該是這里面的如下解釋
import time?
def performance(f):
? ? def fn(*args,**kw):
? ? ? ? t1 = time.time()????# 定義程序執行前的時間戳,獲取時間值
? ? ? ? r = f(*args,**kw) ? # 運行函數f 這里的*args 和**kw保證任意的參數總是能正常調用 如果你程序些的形參實參能對應起來也可以不這么些
? ? ? ? t2 = time.time() ? # 定義程序執行結束時候的時間戳,獲取去時間值
? ? ? ? print 'call %s() in %fs'%(f.__name__,(t2-t1))
? ? ? ? return r
? ? return fn?
@performance # 運行下面的函數時候@performance裝飾器 并且傳入函數(這里就是lambda函數及對應形參f)
def factorial(n):
? ? return reduce(lambda x,y:x*y,range(1,n+1))
print factorial(10)
記得給好評哦 ?親
2017-07-20
Python3獲取時間戳失敗,t2與t1時間戳相同,t2-t1返回值一直為0
2015-09-02
不錯!