Puteți utiliza Python’s sleep() funcție pentru a adăuga o întârziere la cod.

Această funcție este utilă dacă doriți să întrerupeți codul între apelurile API, de exemplu. Sau îmbunătățiți experiența utilizatorului adăugând pauze între cuvinte sau grafică.

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

Când rulez codul de mai sus, există aproximativ o întârziere de două secunde înainte de tipărirea „hello world”.

Am o întârziere pentru că sleep() oprește „executarea firului de apel”Pentru un număr de secunde furnizat (deși timpul exact este aproximativ). Deci, execuția programului este întreruptă timp de aproximativ două secunde în exemplul de mai sus.

În acest articol, veți afla cum să puneți codul Python în repaus.

Detaliile somnului

Python’s modul de timp conține multe funcții legate de timp, dintre care una este sleep(). Pentru a utiliza sleep (), trebuie să îl importați.

from time import sleep

sleep () acceptă un argument: secunde. Aceasta este perioada de timp (în secunde) pe care doriți să o întârziați.

seconds = 2
sleep(seconds)

Dormi în acțiune

Acum să folosim sleep() în câteva moduri diferite.

După ce am importat somnul din time modul, se vor imprima două linii de text. Cu toate acestea, va exista o întârziere aproximativă de două secunde între imprimarea fiecărei linii.

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

Iată ce s-a întâmplat când am rulat codul:

"Hello" Această linie a fost imprimată imediat.

Apoi, a existat aproximativ o întârziere de două secunde.

"World" Această linie s-a tipărit la aproximativ două secunde după prima.

Poți fi precis

Asigurați-vă întârzierea specifică trecând un număr în virgulă mobilă către sleep().

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

Iată ce s-a întâmplat când am rulat codul:

"Prints immediately." Această linie s-a tipărit imediat.

Apoi, a existat o întârziere de aproximativ 0,5 secunde.

"Prints after a slight delay." Această linie s-a tipărit la aproximativ 0,5 secunde după prima.

Creați un Timestamp

Iată un alt exemplu de luat în considerare.

În codul de mai jos, creez cinci timestampuri. eu folosesc sleep() pentru a adăuga o întârziere de aproximativ o secundă între fiecare marcaj de timp.

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

Aici, import întregul modul de timp, astfel încât să pot accesa mai multe funcții din acesta, inclusiv sleep ().

import time

Apoi, creez o buclă for care va itera de cinci ori.

for i in range(5):
...

La fiecare iterație, primesc ora curentă.

current_time = time.localtime()

Primesc un timestamp folosind o altă funcție din modulul de timp, strftime().

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

Funcția sleep () este următoarea, ceea ce va provoca o întârziere la fiecare iterație a buclei.

time.sleep(1)

Când rulez programul, aștept aproximativ o secundă înainte de imprimarea primei etichete de timp. Apoi, aștept aproximativ o secundă pentru următoarea ștampilă de timp pentru a imprima și așa mai departe până când bucla se termină.

Rezultatul arată astfel:

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

sleep () și Experiența utilizatorului

O altă modalitate de utilizare sleep() este de a îmbunătăți experiența utilizatorului prin crearea de suspans.

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

Aici, iterez prin lista de cuvinte din story_intro. Pentru a adăuga suspans, folosesc funcția sleep () pentru a întârzia cu aproximativ o secundă după imprimarea fiecărui cuvânt.

time.sleep(1)

Deși viteza de execuție este adesea în prim-planul minții noastre, uneori merită să încetinim și să adăugăm o pauză în codul nostru. Când apar acele ocazii, știi la ce să ajungi și cum funcționează.

Scriu despre învățarea programării și despre cele mai bune modalități de a continua amymhaddad.com. Trimit un tweet despre programare, învățare și productivitate: @amymhaddad.