亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

 更新時(shí)間:2021年04月06日 17:06:33   作者:JSon liu  
這篇文章主要介紹了python之timeit統(tǒng)計(jì)運(yùn)行時(shí)間模塊,這個(gè)技巧非常的實(shí)用,感興趣的小伙伴可以試試

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'。可以寫(xiě)一行語(yǔ)句,也可以寫(xiě)多行語(yǔ)句,寫(xiě)多行語(yǔ)句時(shí)用分號(hào)隔開(kāi)。
  • 如果 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);或新行隔開(kāi)
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)文章!

相關(guān)文章

  • Python實(shí)現(xiàn)遍歷目錄的兩張方法總結(jié)

    Python實(shí)現(xiàn)遍歷目錄的兩張方法總結(jié)

    我們有時(shí)想直接查看文件夾里的所有文件,但使用正常的方法太麻煩了,于是本文開(kāi)發(fā)出了兩個(gè)python程序,可以遍歷目錄,有需要的小伙伴可以參考下
    2024-02-02
  • python里 super類的工作原理詳解

    python里 super類的工作原理詳解

    這篇文章主要介紹了python里 super類的工作原理詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • python list count統(tǒng)計(jì)個(gè)數(shù)的實(shí)現(xiàn)

    python list count統(tǒng)計(jì)個(gè)數(shù)的實(shí)現(xiàn)

    這篇文章主要介紹了python list count統(tǒng)計(jì)個(gè)數(shù)的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Linux系統(tǒng)下升級(jí)pip的完整步驟

    Linux系統(tǒng)下升級(jí)pip的完整步驟

    這篇文章主要給大家介紹了關(guān)于Linux系統(tǒng)下升級(jí)pip的完整步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • python數(shù)據(jù)類型_字符串常用操作(詳解)

    python數(shù)據(jù)類型_字符串常用操作(詳解)

    下面小編就為大家?guī)?lái)一篇python數(shù)據(jù)類型_字符串常用操作(詳解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05
  • 淺析Python中作用域的應(yīng)用

    淺析Python中作用域的應(yīng)用

    這篇文章主要是想和大家一起來(lái)討論下去Python中的命名空間、作用域和LEGB規(guī)則等不同概念,文中的示例代碼簡(jiǎn)潔易懂,快跟隨小編一起來(lái)學(xué)習(xí)一下吧
    2023-08-08
  • python實(shí)現(xiàn)最長(zhǎng)公共子序列

    python實(shí)現(xiàn)最長(zhǎng)公共子序列

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)最長(zhǎng)公共子序列的相關(guān)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • Python中拆分字符串的操作方法

    Python中拆分字符串的操作方法

    這篇文章主要介紹了Python中拆分字符串的操作方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-07-07
  • Python對(duì)圖像進(jìn)行灰度處理的代碼介紹

    Python對(duì)圖像進(jìn)行灰度處理的代碼介紹

    這篇文章主要給大家介紹了關(guān)于Python對(duì)圖像進(jìn)行灰度處理的相關(guān)資料,圖像灰度化是將一幅彩色圖像轉(zhuǎn)換為灰度化圖像的過(guò)程,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-11-11
  • pandas讀取Excel批量轉(zhuǎn)換時(shí)間戳的實(shí)踐

    pandas讀取Excel批量轉(zhuǎn)換時(shí)間戳的實(shí)踐

    本文主要介紹了pandas讀取Excel批量轉(zhuǎn)換時(shí)間戳的實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02

最新評(píng)論