Funkcija spavanja Pythona () (s primjerima)

Funkcija sleep () obustavlja (čeka) izvršavanje trenutne niti na zadani broj sekundi.

Python ima modul pod nazivom vrijeme koji pruža nekoliko korisnih funkcija za rješavanje zadataka vezanih uz vrijeme. Jedna od popularnih funkcija među njima je sleep().

U sleep()funkciji obustavlja izvršenje tekućeg niti za određeni broj sekundi.

Primjer 1: Spavanje Pythona ()

  import time print("Printed immediately.") time.sleep(2.4) print("Printed after 2.4 seconds.") 

Evo kako ovaj program funkcionira:

  • "Printed immediately" je tiskan
  • Obustavlja (odgađa) izvršenje na 2,4 sekunde.
  • "Printed after 2.4 seconds" je tiskan.

Kao što možete vidjeti iz gornjeg primjera, sleep()uzima broj s pomičnom zarezom kao argument.

Prije Pythona 3.5 , stvarno vrijeme suspenzije može biti manje od argumenta navedenog u time()funkciji.

Od Pythona 3.5 , vrijeme suspenzije iznosit će najmanje sekundi.

Primjer 2: Python stvara digitalni sat

 import time while True: localtime = time.localtime() result = time.strftime("%I:%M:%S %p", localtime) print(result) time.sleep(1) 

U gore navedenom programu izračunali smo i ispisali trenutno lokalno vrijeme unutar beskonačne while petlje. Zatim program čeka 1 sekundu. Opet se izračunava i ispisuje trenutno lokalno vrijeme. Taj se postupak nastavlja.

Kada pokrenete program, izlaz će biti otprilike:

 14:10:50 14:10:51 14:10:52 14:10:53 14:10:54 … 

Evo malo izmijenjene bolje verzije gornjeg programa.

  import time while True: localtime = time.localtime() result = time.strftime("%I:%M:%S %p", localtime) print(result, end="", flush=True) print("", end="", flush=True) time.sleep(1) 

Da biste saznali više, posjetite digitalni sat u ljusci Python.

Višenitnost u Pythonu

Prije nego što razgovaramo o sleep()višenitnim programima, razgovarajmo o procesima i nitima.

Računalni program je zbirka uputa. Proces je izvršavanje tih uputa.

Nit je podskup procesa. Proces može imati jednu ili više niti.

Primjer 3: Python multithreading

Svi programi u ovom članku su programi s jednim niti. Evo primjera višenitnog programa Python.

  import threading def print_hello_three_times(): for i in range(3): print("Hello") def print_hi_three_times(): for i in range(3): print("Hi") t1 = threading.Thread(target=print_hello_three_times) t2 = threading.Thread(target=print_hi_three_times) t1.start() t2.start() 

Kada pokrenete program, izlaz će biti otprilike:

 Pozdrav Pozdrav Pozdrav Pozdrav Pozdrav 

Gornji program ima dvije niti t1 i t2. Te se niti pokreću pomoću naredbi t1.start()i t2.start()naredbi.

Imajte na umu da se t1 i t2 istodobno izvode i možda ćete dobiti različite izlaze.

Posjetite ovu stranicu da biste saznali više o Multithreadingu u Pythonu.

time.sleep () u višenitnim programima

U sleep()funkciji obustavlja izvršenje tekućeg niti za određeni broj sekundi.

U slučaju jednonitnih programa, sleep()obustavlja izvršavanje niti i procesa. Međutim, funkcija suspendira nit, a ne cijeli postupak u višenitnim programima.

Primjer 4: sleep () u programu s više niti

 import threading import time def print_hello(): for i in range(4): time.sleep(0.5) print("Hello") def print_hi(): for i in range(4): time.sleep(0.7) print("Hi") t1 = threading.Thread(target=print_hello) t2 = threading.Thread(target=print_hi) t1.start() t2.start()

Gornji program ima dvije niti. Iskoristili smo time.sleep(0.5)i time.sleep(0.75)obustavili izvršavanje ove dvije niti na 0,5 sekunde, odnosno 0,7 sekundi.

Preporučeno čitanje: Python time.sleep () spava nit

Zanimljivi članci...