Funkcija spavanja Python - Kako natjerati Python da pričeka nekoliko sekundi prije nastavka, s primjerima naredbi

Pomoću Pythonove sleep()funkcije možete dodati vremensko kašnjenje kodu.

Ova je funkcija korisna ako, na primjer, želite pauzirati kod između API poziva. Ili poboljšajte korisničko iskustvo dodavanjem pauza između riječi ili grafike.

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

Kada pokrenem gornji kod, otprilike dvije sekunde kasne prije ispisa "hello world".

Došlo je do kašnjenja jer sleep()zaustavlja "izvršavanje pozivne niti" na predviđeni broj sekundi (iako je točno vrijeme približno). Dakle, izvršenje programa je pauzirano oko dvije sekunde u gornjem primjeru.

U ovom ćete članku naučiti kako uspavati svoj Python kôd.

Pojedinosti o spavanju

Pythonov vremenski modul sadrži mnoge funkcije povezane s vremenom, od kojih je jedna sleep(). Da biste koristili sleep (), morate ga uvesti.

from time import sleep 

sleep () uzima jedan argument: sekunde. Ovo je vrijeme (u sekundama) za koje želite odgoditi kod.

seconds = 2 sleep(seconds) 

Spavaj u akciji

Sada se poslužimo sleep()na nekoliko različitih načina.

Nakon što uvozim stanje mirovanja iz timemodula, ispisat će se dva retka teksta. Međutim, bit će približno dvije sekunde kašnjenja između ispisa svakog retka.  

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

Evo što se dogodilo kad sam pokrenuo kod:

"Hello"Ovaj je redak odmah ispisan.

Tada je došlo do otprilike dvije sekunde kašnjenja.

"World" Ovaj se redak otisnuo otprilike dvije sekunde nakon prvog.

Možete biti precizni

Odredite svoje vremensko kašnjenje prosljeđivanjem broja s pomičnom zarezom sleep().

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

Evo što se dogodilo kad sam pokrenuo kod:

"Prints immediately." Ovaj se redak odmah ispisuje.

Zatim je došlo do kašnjenja od približno 0,5 sekunde.

"Prints after a slight delay." Ovaj se redak otisnuo otprilike 0,5 sekundi nakon prvog.

Stvorite vremensku oznaku

Evo još jednog primjera koji treba razmotriti.

U donjem kodu stvaram pet vremenskih žigova. Koristim sleep()dodavanje kašnjenja od približno jedne sekunde između svake vremenske oznake.

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

Ovdje uvozim cijeli modul vremena kako bih mogao pristupiti više funkcija s njega, uključujući sleep ().

import time 

Zatim kreiram for petlju koja će se ponoviti pet puta.

for i in range(5): ... 

Na svakoj iteraciji dobivam trenutno vrijeme.

current_time = time.localtime() 

JA dobiti vremensku oznaku pomoću drugu funkciju u modulu, strftime().

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

Sledeća je funkcija sleep (), što će uzrokovati kašnjenje svake iteracije petlje.

time.sleep(1) 

Kad pokrenem program, pričekam otprilike sekundu prije nego što se ispiše prva vremenska oznaka. Zatim čekam otprilike sekundu da se ispiše sljedeća vremenska oznaka i tako dok petlja ne prestane.

Izlaz izgleda ovako:

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

sleep () i korisničko iskustvo

Drugi način korištenja sleep()je poboljšati korisničko iskustvo stvaranjem neke napetosti.

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

Ovdje sam prolazak kroz popis riječi u story_intro. Da bih dodao neizvjesnost, koristim funkciju sleep () kako bih odgodio otprilike sekundu nakon ispisa svake riječi.

time.sleep(1) 

Iako nam je brzina izvršavanja često u prvom planu, ponekad vrijedi usporiti i dodati stanku u naš kôd. Kad se pojave te prilike, znate za čime treba posegnuti i kako to funkcionira.

Pišem o učenju programiranja i najboljim načinima za to na amymhaddad.com. Cvrkućem o programiranju, učenju i produktivnosti: @amymhaddad.