08 sie

Python: funkcja sleep(), opóźnienie w wykonaniu programu

sleep() w Python, opóźnienie w programie

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.