Привет всем, надеюсь, вы хорошо осваиваете 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