亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Python 使用with上下文實現計時功能

系統 1883 0

引言

with 語句是從 Python 2.5 開始引入的一種與異常處理相關的功能(2.5 版本中要通過 from __future__ import with_statement 導入后才可以使用),從 2.6 版本開始缺省可用(參考 What's new in Python 2.6? 中 with 語句相關部分介紹)。with 語句適用于對資源進行訪問的場合,確保不管使用過程中是否發生異常都會執行必要的“清理”操作,釋放資源,比如文件使用后自動關閉、線程中鎖的自動獲取和釋放等。

在Python常常需要記錄一段代碼運行了多長時間,普通的一般用兩個 time.time() ,然后計算差值;高級一點的,就是寫一個計時裝飾器,用裝飾器包裹方法,記錄運行時間,但這這意味著你的代碼需要寫在函數里,然后才能使用此計時裝飾器。

今天我要介紹的是一種可以給一段代碼計時,而不是一個函數計時的方便的、“高級的”的Python計時方法。

代碼如下:

            
from contextlib import contextmanager
@contextmanager
def timer(name): 
 start = time.time()
 yield
 print(f'[{name}] done in {time.time() - start:.2f} s')
          

使用方法:

            
with timer('Test'): 
 i = 0
 while i < 1000000:
  i += 1
          

輸出:

            
[Test] done in 0.11 s
          

從1加到1百萬需要0.11s。可以在 timer 通過修改 .2f 來修改時間精度。

總結

以上所述是小編給大家介紹的Python 使用with上下文實現計時功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲一区二区三区高清不卡 | 成人国内精品久久久久影 | 久久国产精品视频一区 | 久久精品国产一区二区三区日韩 | 乱子伦免费视频中文字幕 | 亚洲在线观看视频 | 熊出没之重启未来免费观看 | 国产精品一区在线观看你懂的 | 毛片成人永久免费视频 | 久久久久久毛片免费播放 | 99国产欧美久久精品 | 亚洲免费视频一区 | 亚洲69av| 国产亚洲精品成人a在线 | 久久久免费观成人影院 | 日韩高清在线日韩大片观看网址 | 亚洲一区二区三区在线视频 | 国产精品久线观看视频 | 91久久青草精品38国产 | 五月天婷婷免费视频观看 | 久久厕所精品国产精品亚洲 | 久久精品一区二区三区四区 | 69福利网| 久久夜色精品国产欧美 | 久久久日韩精品国产成人 | 日本一级在线观看视频播放 | 国内精品在线视频 | 久久精品 | 手机国产日韩高清免费看片 | 亚洲国产精品一区二区久久 | bbw满足护士| 欧美xxxx4khd超高清 | 国产高清一级视频在线观看 | 国产萝控精品福利视频免费 | 欧美久久久久久久久 | 日本另类αv欧美另类aⅴ | 国产网站免费视频 | 欧美影院一区二区 | 精品久久亚洲 | 午夜在线观看网站 | 波多野结衣 一区二区 |