自學(xué)Python教程【第五十九節(jié)】計(jì)時(shí)
歡迎大家來到Python自學(xué)教程教室,上節(jié)課我們講了random()隨機(jī)數(shù),不知道大家掌握的怎么樣呢?這節(jié)課我們學(xué)習(xí)Python編程中新的知識計(jì)時(shí),相信大家已經(jīng)有了各種各樣的疑問,怎么計(jì)時(shí),是分是秒?如何開始與停止等,來看看在本節(jié)課中你是否可以找到答案。
Python中有一個(gè)time模塊,它提供了一些與時(shí)間相關(guān)的方法。利用time,可以簡單地計(jì)算出程序運(yùn)行的時(shí)間。對于一些比較復(fù)雜、耗時(shí)較多的程序,可以通過這種方法了解程序中哪里是效率的瓶頸,從而有針對性地進(jìn)行優(yōu)化。
在計(jì)算機(jī)領(lǐng)域有一個(gè)特殊的時(shí)間,叫做epoch,它表示的時(shí)間是1970-01-01 00:00:00 UTC。
Python中time模塊的一個(gè)方法
time.time()
返回的就是從epoch到當(dāng)前的秒數(shù)(不考慮閏秒)。這個(gè)值被稱為unix時(shí)間戳。
于是我們可以用這個(gè)方法得到程序開始和結(jié)束所用的時(shí)間,進(jìn)而算出運(yùn)行的時(shí)間:
import time starttime = time.time() print 'start:%f' % starttime for i in range(10): print i endtime = time.time() print 'end:%f' % endtime print 'total time:%f' % (endtime-starttime)
在程序中的不同位置調(diào)用time.time()就可以得到運(yùn)行到那個(gè)地方的時(shí)間,了解不同部分消耗的時(shí)間。
有了這個(gè)方法,我們還可以在Pygame課程中的打飛機(jī)游戲里,得到每一次游戲主循環(huán)刷新的時(shí)間,計(jì)算出游戲的每秒幀數(shù),顯示在屏幕上。
順便再說下time中的另一個(gè)很有用的方法:
time.sleep(secs)
它可以讓程序暫停secs秒。例如:
import time print 1 time.sleep(3) print 2
在抓取網(wǎng)頁的時(shí)候,適當(dāng)讓程序sleep一下,可以減少短時(shí)間內(nèi)的請求,提高請求的成功率。
恭喜您在Python自學(xué)的道路上又堅(jiān)持了一天,如何用Python編程寫出計(jì)時(shí)的程序,實(shí)現(xiàn)這一自動(dòng)化的過程,你理解了嗎?
好啦,今天的分享到這里就結(jié)束了,希望大家能夠持續(xù)關(guān)注馬哥教育官網(wǎng)!每天都會有大量優(yōu)質(zhì)內(nèi)容與大家分享!
聲明:文章來源于網(wǎng)絡(luò),侵刪!