濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > python使用timeit時(shí)間模塊

python使用timeit時(shí)間模塊

熱門標(biāo)簽:打印谷歌地圖標(biāo)注 電話外呼系統(tǒng)招商代理 淮安呼叫中心外呼系統(tǒng)如何 佛山通用400電話申請(qǐng) 電話機(jī)器人貸款詐騙 蘇州人工外呼系統(tǒng)軟件 京華圖書館地圖標(biāo)注 看懂地圖標(biāo)注方法 廣東旅游地圖標(biāo)注

1. timeit.timeit(stmt=‘pass', setup=‘pass', timer=default timer>, number=default_number)

  • timeit() 函數(shù)有四個(gè)參數(shù),每個(gè)參數(shù)都是關(guān)鍵字參數(shù),都有默認(rèn)值。
  • stmt:傳入需要測(cè)試時(shí)間的代碼,可以直接傳入代碼表達(dá)式或單個(gè)變量,也可以傳入函數(shù)。傳入函數(shù)時(shí)要在函數(shù)名后面加上小括號(hào),讓函數(shù)執(zhí)行,如 stmt = ‘func()' 。
  • setup:傳入 stmt 的運(yùn)行環(huán)境,如 stmt 中使用到的參數(shù)、變量,要導(dǎo)入的模塊等,如 setup = 'from __main__ import func'??梢詫懸恍姓Z(yǔ)句,也可以寫多行語(yǔ)句,寫多行語(yǔ)句時(shí)用分號(hào)隔開。
  • 如果 stmt 和參數(shù) setup 參數(shù)不傳值,那么就失去了測(cè)試的意義,所以這兩個(gè)參數(shù)是必要的。
  • timer: timer參數(shù)是當(dāng)前操作系統(tǒng)的基本時(shí)間單位,默認(rèn)會(huì)根據(jù)當(dāng)前運(yùn)行環(huán)境的操作系統(tǒng)自動(dòng)獲取(源碼中已經(jīng)定義),保持默認(rèn)即可。
  • number:要測(cè)試的代碼的運(yùn)行次數(shù),默認(rèn)1000000(一百萬(wàn))次,對(duì)于耗時(shí)的代碼,運(yùn)行太多次會(huì)花很多時(shí)間,可以自己修改運(yùn)行次數(shù)。

2. timeit.repeat(stmt="pass", setup="pass", timer=default_timer, repeat=default_repeat, number=default_number)

  • repeat()函數(shù)有五個(gè)參數(shù),每個(gè)參數(shù)都是關(guān)鍵字參數(shù),都有默認(rèn)值。參數(shù)含義與timer()相同
  • repeat:表示測(cè)試要重復(fù)幾次,可以理解為將相同參數(shù)的 timeit() 函數(shù)重復(fù)執(zhí)行。最終的結(jié)果構(gòu)成一個(gè)列表返回,repeat 默認(rèn)為3次。

3. class timeit.Timer(stmt=‘pass', setup=‘pass', timer=timer function>)

  • 計(jì)算小段代碼執(zhí)行速度的類,構(gòu)造函數(shù)需要的參數(shù)有stmt,setup,timer。
  • 前兩個(gè)參數(shù)的默認(rèn)值都是pass,timer默認(rèn)會(huì)根據(jù)當(dāng)前運(yùn)行環(huán)境的操作系統(tǒng)自動(dòng)獲??;前兩個(gè)參數(shù)都可以包含多個(gè)語(yǔ)句,多個(gè)語(yǔ)句間使用分號(hào);或新行隔開
import timeit
def t1():
 li = [i for i in range(100000)]
def t2():
 li = []
 for i in range(100000):
  li += [i]
def t3():
 li = []
 for i in range(100000):
  li.append(i)
def t4():
 li = []
 list(range(100000))
def t5():
 li = []
 for i in range(100000):
  li.extend([i])
def t6():
 li = []
 for i in range(100000):
  li.insert(0,i)

# 方式1:timeit.timeit()
# list_t1 = timeit.timeit('t1()','from __main__ import t1',number=1)
# print("i for i in range(100000): %s" %(list_t1))

# 方式2:timeit.repeat()
# list_t2 = timeit.repeat('t2()','from __main__ import t2',repeat=1,number=1)
# print("li += i: %s" %(str(list_t2)))

# 方式3:timeit.Timer
# timer3 = timeit.Timer('t3()','from __main__ import t3')
# print("li.append(i): %s" %(timer3.timeit(number=1)))

# 直接傳入字符串對(duì)象
# list_l4 = timeit.timeit('li = [i for i in range(1000)]',number=1)
# print(str(list_l4))

# 傳入多個(gè)函數(shù)對(duì)象(;或空行分隔)
list_l5 = timeit.repeat('t4();t5();t6()','from __main__ import t4;from __main__ import t5;from __main__ import t6',repeat=1,number=1)
print(str(list_l5))

以上就是python使用timeit統(tǒng)計(jì)運(yùn)行時(shí)間模塊的詳細(xì)內(nèi)容,更多關(guān)于python使用timeit的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

您可能感興趣的文章:
  • Python模塊介紹與使用詳細(xì)講解
  • Python中re模塊的常用方法總結(jié)
  • Python實(shí)現(xiàn)學(xué)生管理系統(tǒng)的代碼(JSON模塊)
  • python tkinter模塊的簡(jiǎn)單使用
  • python requests模塊的使用示例
  • Python3 json模塊之編碼解碼方法講解
  • python 繪圖模塊matplotlib的使用簡(jiǎn)介
  • python urllib.request模塊的使用詳解
  • python 中os模塊os.path.exists()的用法說(shuō)明
  • python os模塊和fnmatch模塊的使用介紹
  • python glom模塊的使用簡(jiǎn)介

標(biāo)簽:江蘇 駐馬店 股票 中山 呼和浩特 衡水 畢節(jié) 湖州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《python使用timeit時(shí)間模塊》,本文關(guān)鍵詞  python,使用,timeit,時(shí)間,模塊,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《python使用timeit時(shí)間模塊》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于python使用timeit時(shí)間模塊的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    海伦市| 长汀县| 疏勒县| 怀化市| 依安县| 红桥区| 翼城县| 稷山县| 华蓥市| 常山县| 隆尧县| 琼海市| 安达市| 津南区| 浏阳市| 鲜城| 南通市| 平舆县| 垫江县| 西吉县| 横峰县| 赤壁市| 县级市| 乌什县| 柳林县| 剑川县| 普格县| 元朗区| 奎屯市| 冷水江市| 连云港市| 吉林省| 永胜县| 栖霞市| 江华| 平果县| 新闻| 三亚市| 台北县| 昔阳县| 科技|