Funkcija spanja Pythona () (s primeri)

Funkcija spanja () zadrži (čaka) izvajanje trenutne niti za določeno število sekund.

Python ima modul z imenom time, ki ponuja več uporabnih funkcij za obdelavo časovno povezanih nalog. Ena izmed priljubljenih funkcij med njimi je sleep().

V sleep()funkcija prekine izvajanje trenutnega nit za določeno število sekund.

Primer 1: Python sleep ()

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

Ta program deluje tako:

  • "Printed immediately" je natisnjeno
  • Začasno ustavi (zakasni) izvajanje za 2,4 sekunde.
  • "Printed after 2.4 seconds" je natisnjeno.

Kot lahko vidite iz zgornjega primera, sleep()za argument vzame število s plavajočo vejico.

Pred Pythonom 3.5 je dejanski čas zaustavitve lahko krajši od argumenta, določenega za time()funkcijo.

Od Pythona 3.5 bo čas zaustavitve določen vsaj v sekundah.

2. primer: Python ustvari digitalno uro

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

V zgornjem programu smo izračunali in natisnili trenutni lokalni čas znotraj neskončne zanke while. Nato program čaka 1 sekundo. Ponovno se izračuna in natisne trenutni lokalni čas. Ta postopek se nadaljuje.

Ko zaženete program, bo rezultat približno tak:

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

Tu je nekoliko spremenjena boljša različica zgornjega 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) 

Če želite izvedeti več, obiščite digitalno uro v lupini Python.

Večnitnost v Pythonu

Preden se pogovarjamo o sleep()večnitnih programih, se pogovorimo o procesih in nitih.

Računalniški program je zbirka navodil. Postopek je izvajanje teh navodil.

Nit je podskupina procesa. Proces ima lahko eno ali več niti.

3. primer: Pythonova večnitnost

Vsi zgornji programi v tem članku so enonitni programi. Tu je primer večnitnega 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() 

Ko zaženete program, bo rezultat približno tak:

 Pozdravljeni Pozdravljeni Pozdravljeni Pozdravljeni Živjo 

Zgornji program ima dve niti t1 in t2. Te teme se izvajajo z uporabo t1.start()in t2.start()izjave.

Upoštevajte, da se t1 in t2 izvajata sočasno in morda dobite drugačne rezultate.

Obiščite to stran, če želite izvedeti več o večnitnosti v Pythonu.

time.sleep () v večnitnih programih

V sleep()funkcija prekine izvajanje trenutnega nit za določeno število sekund.

V primeru enonitnih programov sleep()ustavi izvajanje niti in postopek. Vendar pa funkcija v večnitnih programih začasno ustavi nit in ne celotnega procesa.

4. primer: spanje () v večnitnem programu

 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()

Zgornji program ima dve niti. Uporabili smo time.sleep(0.5)in time.sleep(0.75)začasno ustavili izvajanje teh niti za 0,5 sekunde oziroma 0,7 sekunde.

Priporočeno branje: Python time.sleep () spi nit

Zanimive Članki...