Поиск по сайту:

Время сна Python()


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

Время сна Python

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

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

# importing time module
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)
   # making delay for 1 second
   time.sleep(1)
endTime = time.time()
elapsedTime = endTime - startTime
print("Elapsed Time = %s" % elapsedTime)

Это выведет:

0
1
2
3
4
Elapsed Time = 5.059988975524902

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

Различное время задержки сна 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()

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

# importing time module
import time
message = "Hi!!! I am trying to create suspense"

for i in message:
   # printing each character of the message
   print(i)
   time.sleep(0.3)

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

Спящий поток Python

Функция Python time sleep() — очень важный метод для многопоточности. Ниже приведен простой пример, показывающий, что функция 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")