Pythoni unefunktsioon - kuidas panna Python enne jätkamist paar sekundit ootama, näidiskäskudega

Ajapikenduse sleep()lisamiseks koodile saate kasutada Pythoni funktsiooni.

See funktsioon on mugav, kui soovite oma koodi näiteks API-kõnede vahel peatada. Või suurendage kasutaja kogemust, lisades sõnade või graafika vahele pause.

from time import sleep sleep(2) print("hello world") 

Kui ma käivitan ülaltoodud koodi, on "tere maailm" printimiseks umbes kaks sekundit viivitust.

Kogesin viivitust, kuna sleep()peatab helistava lõime käivitamise ettenähtud sekunditeks (kuigi täpne aeg on ligikaudne). Nii et ülaltoodud näites on programmi täitmine umbes kaks sekundit peatatud.

Sellest artiklist saate teada, kuidas oma Pythoni kood magama panna.

Une üksikasjad

Pythoni ajamoodul sisaldab palju ajaga seotud funktsioone, millest üks on sleep(). Unerežiimi () kasutamiseks peate selle importima.

from time import sleep 

sleep () võtab ühe argumendi: sekundit. See on aeg (sekundites), mille soovite oma koodiga edasi lükata.

seconds = 2 sleep(seconds) 

Uni tegevuses

Kasutame nüüd sleep()mõnel erineval viisil.

Kui une timemoodulist impordin , prinditakse kaks tekstirida. Iga rea ​​trükkimise vahele jääb aga umbes kahesekundiline viivitus.  

from time import sleep print("Hello") sleep(2) print("World") 

Nii juhtus ka siis, kui jooksin koodi:

"Hello"See rida prinditi kohe.

Siis oli umbes kahesekundiline viivitus.

"World" See rida trükiti umbes kaks sekundit pärast esimest.

Sa võid olla täpne

Täpsustage oma aja viivitus, edastades ujukoma numbri sleep().

from time import sleep print("Prints immediately.") sleep(0.50) print("Prints after a slight delay.") 

Nii juhtus ka siis, kui jooksin koodi:

"Prints immediately." See rida trükiti kohe.

Seejärel oli viivitus umbes 0,5 sekundit.

"Prints after a slight delay." See rida trükiti umbes 0,5 sekundit pärast esimest.

Looge ajatempel

Siin on veel üks näide, mida kaaluda.

Allolevas koodis koostan viis ajatemplit. Ma kasutan sleep()lisada viivitus umbes ühe sekundi vahel iga ajatempel.

import time for i in range(5): current_time = time.localtime() timestamp = time.strftime("%I:%m:%S", current_time) time.sleep(1) print(timestamp) 

Siit impordin kogu ajamooduli, et saaksin sealt juurde pääseda mitmele funktsioonile, sealhulgas unele ().

import time 

Seejärel loon for for loop, mis kordub viis korda.

for i in range(5): ... 

Iga korduse korral saan praeguse aja.

current_time = time.localtime() 

Ma saan ajatempli, kasutades mõnda muud mooduli funktsiooni strftime().

timestamp = time.strftime("%I:%m:%S", current_time) 

Järgmine on unerežiimi () funktsioon, mis põhjustab viivituse silmuse igas iteratsioonis.

time.sleep(1) 

Programmi käivitamisel ootan umbes sekundit, enne kui esimene ajatempel välja trükitakse. Seejärel ootan umbes sekundit järgmise ajatempli printimiseks ja nii edasi, kuni silmus lõpeb.

Väljund näeb välja selline:

04:08:37 04:08:38 04:08:39 04:08:40 04:08:41 

sleep () ja kasutajakogemus

Teine kasutusviis sleep()on kasutaja kogemuse parandamine, tekitades teatud pinget.

from time import sleep story_intro = ["It", "was", "a", "dark", "and", "stormy", "night", "..."] for word in story_intro: print(word) sleep(1) 

Siin ma kordan sõnade loendi kaudu story_intro. Pinge lisamiseks kasutan funktsiooni sleep (), et pärast iga sõna printimist viivitada umbes sekundiga.

time.sleep(1) 

Ehkki täitmiskiirus on sageli meie meelest esirinnas, tasub mõnikord aeglustada ja lisada koodile paus. Kui need juhtumid tekivad, siis teate, mille poole sirutada ja kuidas see töötab.

Kirjutan programmeerimise õppimisest ja parimatest viisidest selle saavutamiseks saidil amymhaddad.com. Ma säutsun programmeerimise, õppimise ja tootlikkuse teemal : @amymhaddad.