自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

你還在使用打樁來(lái)記錄 for 循環(huán)嗎?

開(kāi)發(fā)
我們經(jīng)常會(huì)使用print()來(lái)進(jìn)行打樁查看我們的執(zhí)行進(jìn)度,其實(shí)最好的是可以實(shí)現(xiàn)一個(gè)進(jìn)度條,使用一個(gè)專(zhuān)門(mén)的進(jìn)度條庫(kù)會(huì)更加方便。

在平時(shí)使用Python進(jìn)行編寫(xiě)代碼時(shí),我們?cè)诰帉?xiě)需要執(zhí)行較長(zhǎng)時(shí)間的任務(wù)時(shí),我們經(jīng)常會(huì)使用print()來(lái)進(jìn)行打樁查看我們的執(zhí)行進(jìn)度。其實(shí)最好的是可以實(shí)現(xiàn)一個(gè)進(jìn)度條,使用一個(gè)專(zhuān)門(mén)的進(jìn)度條庫(kù)會(huì)更加方便。

在這里我最推薦的進(jìn)度條庫(kù)就是tqdm。這個(gè)庫(kù)使用簡(jiǎn)單,可以在循環(huán)、函數(shù)等多種場(chǎng)景快速添加進(jìn)度條。而且設(shè)計(jì)優(yōu)雅,提供了豐富的定制化選項(xiàng)。

用法

(1) 下載tqdm庫(kù)

pip install tqdm

然后使用import tqdm導(dǎo)入就可以使用了

(2) 傳入可迭代對(duì)象

這里我們使用for循環(huán)來(lái)舉例說(shuō)明

from tqdm import tqdm
import time

for item in tqdm(range(100)):
    time.sleep(0.2)

正常我們?cè)谑褂胒or循環(huán)的時(shí)候是后面直接跟range循環(huán)數(shù)的,在這里我們?cè)趓ange外面加了一個(gè)tqdm(),這樣在運(yùn)行for循環(huán)后就會(huì)顯示當(dāng)前程序運(yùn)行的進(jìn)度,并且以進(jìn)度條展示出來(lái)。

這樣我們就可以根據(jù)進(jìn)度條很清晰的看到當(dāng)前for循環(huán)的執(zhí)行進(jìn)度了,比我們直接用print打樁簡(jiǎn)直好的不是太多。

當(dāng)前,這里有很多種寫(xiě)法的,比如這里也可以使用tqdm.trange()

import tqdm
import time

for item in tqdm.trange(100):
    time.sleep(0.2)

上面的實(shí)現(xiàn)效果和tqdm()效果是差不多的,我們也可以在后面加上參數(shù)為進(jìn)度條進(jìn)行命名,

import tqdm
import time

for i in tqdm.tqdm(range(100),desc="這是進(jìn)度條的名稱(chēng)"):
    time.sleep(0.2)

命名后在下方的進(jìn)度就會(huì)顯示我們的指定名稱(chēng)

3.循環(huán)嵌套進(jìn)度

tqdm支持在循環(huán)中嵌套循環(huán),每個(gè)循環(huán)都可以顯示獨(dú)立的進(jìn)度條。實(shí)現(xiàn)嵌套進(jìn)度條只需要傳入?yún)?shù)positinotallow=0即可:

import tqdm
import time

for i in tqdm(range(5), position=0):
    for j in tqdm(range(100), position=1):
       time.sleep(0.2)

4.手動(dòng)調(diào)整

可以使用with語(yǔ)法手動(dòng)調(diào)整for循環(huán)的循環(huán)數(shù)量

import tqdm
import time

with tqdm(total=50) as number:   #總進(jìn)度50
    for item in range(10):
         time.sleep(0.2)
         number.update(10)

上面代碼的意表示程序的總進(jìn)度是50,然后循環(huán)10次運(yùn)行,每一次循環(huán)執(zhí)行10/50=20%的進(jìn)度,這個(gè)20%是由update()中傳入的值10來(lái)除以總進(jìn)度total=50計(jì)算出來(lái)的百分比。

值得注意的是,例如上面的代碼中,我們循環(huán)了10次,但是每一次都運(yùn)行20%的進(jìn)度,那么我們運(yùn)行五次就100%了,剩下的五次循環(huán)就不會(huì)記錄在執(zhí)行的進(jìn)度條中了

同理可得:

import tqdm
import time

with tqdm(total=50) as number:   #總進(jìn)度50
    for item in range(2):
         time.sleep(0.2)
         number.update(10)

如果我們只循環(huán)兩次的話,則總共就只會(huì)記錄40%的進(jìn)度

手動(dòng)調(diào)整這個(gè)功能一般常用于郵件、消息、數(shù)據(jù)傳輸?shù)葓?chǎng)景的使用,我們可以根據(jù)自己調(diào)整的進(jìn)度條實(shí)時(shí)查看傳輸?shù)倪M(jìn)度。

責(zé)任編輯:趙寧寧 來(lái)源: Python技術(shù)
相關(guān)推薦

2018-09-04 05:05:29

2012-07-19 10:03:32

2024-09-02 09:31:19

2014-01-09 14:52:47

創(chuàng)意開(kāi)源

2010-11-23 10:53:40

騎驢找馬

2024-11-12 16:28:34

2018-04-02 10:28:10

iOSPWA蘋(píng)果

2015-03-04 10:49:30

2019-04-08 14:58:36

數(shù)據(jù)庫(kù)SQL數(shù)據(jù)類(lèi)型

2020-02-21 14:15:40

SimpleDateFJava多線程

2020-03-04 14:05:35

戴爾

2020-12-09 10:34:51

htopLinux命令

2018-01-16 20:14:37

OpenPOWERAIIBM

2020-06-29 07:23:54

for循環(huán)數(shù)組JavaScrip

2016-08-21 14:45:41

數(shù)據(jù)倉(cāng)庫(kù)自助型數(shù)據(jù)準(zhǔn)備工具

2022-09-13 17:54:55

CSS定時(shí)器監(jiān)聽(tīng)事件

2025-04-02 08:47:23

DOM文檔結(jié)構(gòu)API

2015-12-29 13:53:14

BeeCloud云計(jì)算支付

2020-01-20 14:30:39

HTTP概念標(biāo)頭

2020-04-28 08:55:11

MySQL數(shù)據(jù)庫(kù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)