Python time sleep()

Привет всем, надеюсь, вы хорошо осваиваете Python. В этом учебнике мы узнаем о методе sleep() в Python. Функция sleep Python принадлежит модулю python time, который уже обсуждался ранее

Python time sleep

Функция sleep Python используется для добавления задержки в выполнение программы. Мы можем использовать функцию sleep Python для приостановки выполнения программы на заданное время в секундах. Обратите внимание, что функция sleep Python фактически приостанавливает выполнение только текущего потока, а не всей программы.

Синтаксис функции sleep() в Python

sleep() Python является методом модуля времени Python. Поэтому сначала мы должны импортировать модуль времени, а затем можем использовать этот метод. Способ использования функции sleep() Python: Здесь аргумент метода sleep() t указывается в секундах. Это означает, что когда выполняется оператор time.sleep(t), следующая строка кода будет выполнена через t секунд. Смотрите следующий пример:

# импорт модуля времени
import time

print("Before the sleep statement")
time.sleep(5)
print("After the sleep statement")

Если вы запустите вышеуказанный код, то увидите, что вторая печать выполняется через 5 секунд. Таким образом, вы можете делать задержку в вашем коде по необходимости. Аргумент также может быть в виде плавающего значения, чтобы иметь более точную задержку. Например, если вы хотите создать задержку на 100 миллисекунд, что составляет 0.1 секунды, то это можно сделать следующим образом:

import time
time.sleep(0.100)

Пример задержки в Python

Давайте посмотрим на следующий пример использования функции временной задержки в Python.

import time
startTime = time.time()
for i in range(0,5):
   print(i)
   # задержка на 1 секунду
   time.sleep(1)
endTime = time.time()
elapsedTime = endTime - startTime
print("Elapsed Time = %s" % elapsedTime)

Это приведет к следующему выводу:

0
1
2
3
4
Elapsed Time = 5.059988975524902

Прошло больше 5 секунд, потому что при каждой итерации цикла выполнение приостанавливается на 1 секунду. Дополнительное время происходит из-за времени выполнения программы, планирования потоков операционной системы и т. д.

Различная задержка в функции sleep() Python

Иногда вам может понадобиться задержка на разное количество секунд. Это можно сделать следующим образом:

import time

for i in [ .5, .1, 1, 2]:
   print("Waiting for %s" % i , end='')
   print(" seconds")
   time.sleep(i)

Это приведет к следующему выводу:

Waiting for 0.5 seconds
Waiting for 0.1 seconds
Waiting for 1 seconds
Waiting for 2 seconds

Драматический вывод с использованием sleep()

Вам может понадобиться напечатать некоторое сообщение в драматическом стиле, вы можете сделать это следующим образом:

# импортирование модуля времени
import time
message = "Hi!!! I am trying to create suspense"

for i in message:
   # печать каждого символа сообщения
   print(i)
   time.sleep(0.3)

Если вы запустите вышеприведенный код, то увидите, что после печати каждого символа сообщения происходит небольшая задержка, что создает впечатление драматичности.

Потоковая задержка Python

Метод time.sleep() в Python является очень важным для многопоточного программирования. Ниже приведен простой пример, показывающий, что функция time.sleep() Python приостанавливает выполнение только текущего потока в многопоточном программировании.

import time
from threading import Thread


class Worker(Thread):
    def run(self):
        for x in range(0, 11):
            print(x)
            time.sleep(1)


class Waiter(Thread):
    def run(self):
        for x in range(100, 103):
            print(x)
            time.sleep(5)


print("Staring Worker Thread")
Worker().start()
print("Starting Waiter Thread")
Waiter().start()
print("Done")

На изображении ниже показан результат работы приведенного выше примера использования потоковой задержки Python. Из вывода очевидно, что только потоки приостанавливаются выполнением, а не весь программный код с помощью функции time.sleep() Python. Вот и все, что касается функции time.sleep() Python или функции sleep Python. Ссылки: StackOverFlow Post, API Doc

Source:
https://www.digitalocean.com/community/tutorials/python-time-sleep