W programowaniu istnieją sytuacje, w których musimy opóźnić wykonanie programu na określony czas lub do momentu otrzymania danych. W języku Python możemy to osiągnąć dzięki funkcji sleep() z biblioteki time. W tym artykule przedstawimy metodę sleep() oraz różne przykłady jej zastosowania.
Funkcja sleep()
Metoda sleep() jest częścią biblioteki time w języku Python. Pozwala ona na zawieszenie wykonania bieżącego wątku na określony czas, podany w sekundach. Funkcja sleep() jest przydatna w przypadku np. stworzenia efektu czasowego lub oczekiwania na dane.
Aby korzystać z metody sleep(), należy najpierw zaimportować bibliotekę time. Następnie można użyć metody sleep() z podanym argumentem określającym czas opóźnienia w sekundach. Po upływie tego czasu, wykonywanie programu zostanie wznowione.
Składnia funkcji sleep():
import time
time.sleep(t)
t – oznacza czas opóźnienia w sekundach.
Po wykonaniu instrukcji time.sleep(t), następna linia kodu zostanie wykonana po upływie t sekund.
Przykłady wykorzystania sleep()
Aby lepiej zrozumieć działanie metody sleep(), przyjrzyjmy się kilku przykładom zastosowania tej funkcji.
Przykład 1: opóźnienie w wykonaniu programu
import time
print("Przed instrukcją sleep()")
time.sleep(5)
print("Po instrukcji sleep()")
Wykonanie powyższego kodu spowoduje opóźnienie wykonania drugiego print o 5 sekund. Możemy dowolnie dostosować czas opóźnienia, zmieniając wartość argumentu funkcji sleep().
Przykład 2: tworzenie zegara
import time
while True:
localtime = time.localtime()
result = time.strftime("%I:%M:%S %p", localtime)
print(result)
time.sleep(1)
W tym przykładzie tworzymy prosty cyfrowy zegar. Za pomocą metody sleep() zawieszamy wykonanie programu na 1 sekundę, a następnie ponownie obliczamy i wyświetlamy aktualny czas. Ten proces jest powtarzany w nieskończoność, tworząc efekt działającego zegara.
Przykład 3: wielowątkowość w Python
Wielowątkowość jest ważnym pojęciem w programowaniu, gdzie wymagane jest równoczesne wykonanie kilku zadań. Metoda sleep() może być również używana w programach wielowątkowych.
import threading
def print_hello_three_times():
for i in range(3):
print("Cześć")
def print_hi_three_times():
for i in range(3):
print("Hej")
t1 = threading.Thread(target=print_hello_three_times)
t2 = threading.Thread(target=print_hi_three_times)
t1.start()
t2.start()
W powyższym przykładzie tworzymy dwa wątki: t1 i t2. Każdy wątek wykonuje swoją funkcję – print_hello_three_times() i print_hi_three_times() – równocześnie. Dzięki temu możemy uzyskać różne wyniki wyjściowe, gdyż wątki wykonują się jednocześnie.
Podsumowanie
Funkcja sleep() z biblioteki time w Python jest niezwykle przydatnym narzędziem, które pozwala na tworzenie opóźnień w wykonaniu kodu. Dzięki niej możemy tworzyć efekty czasowe, oczekiwać na dane lub równocześnie wykonywać wiele zadań w programach wielowątkowych.
W tym artykule omówiliśmy składnię i zastosowanie funkcji sleep() oraz opisaliśmy kilka przykładów jej użycia. Więcej o funkcji sleep() można znaleźć w oficjalnej dokumentacji Python tutaj.