84 подписчика

Использование функции sleep() в Python

Функция sleep() используется для задержки определённых процессов на указанное время (в секундах).

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

Синтаксис

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

import time

time.sleep(sec)

Простой пример функции sleep()

Чтобы понять смысл функции sleep(), разберём простой пример. Три строки выводятся в определённый промежуток времени – задержку обеспечивает sleep. Сперва выводится первая строка, затем идёт функция sleep(), которая задерживает вывод на 2 секунды. Точно так же для следующего print мы используем sleep на 5 секунд. Код выглядит следующим образом:

import time

print('Hello world')

time.sleep(2)

print('sleep python function')

time.sleep(5)

print('sleep function is working')

# Вывод

Hello world

sleep python function

sleep function is working

Process finished with exit code 0

В тексте этого не видно, но после запуска кода строки выводятся через указанные интервалы времени.

Функции sleep() и time()

Рассмотрим пример использования sleep() для создания промежутка времени. Мы используем функцию time(), чтобы узнать текущее время, и localtime(), чтобы получить текущие дату и время в конкретной местности. Кроме того, есть функция strftime() («string from time»), которая возвращает время в виде строки в указанном формате.

import time

current = time.localtime(time.time())

print(time.strftime('Start time is: %H:%M:%S', current))

print('2 seconds wait')

time.sleep(2)

current = time.localtime(time.time())

print(time.strftime('Ending time is: %H:%M:%S', current))

# Вывод

Start time is: 14:54:35

2 seconds wait

Ending time is: 14:54:37

Process finished with exit code 0

В результате интервал между двумя моментами времени составил две секунды.

Цифровые часы с помощью sleep() и timestamp()

В этом скрипте мы создадим 7 временных отметок и добавим задержку на 2 секунды между каждыми двумя отметками. Первый шаг такой же, как прежде.

От предыдущего этот пример отличается тем, что мы создали временные отметки несколько раз с помощью цикла for. Цикл отработает 7 итераций. Опять же, мы использовали strftime(), чтобы получить время в виде строки, а sleep() — чтобы обеспечить задержку в 2 секунды между каждыми двумя отметками.

import time

for i in range(7):

currenttime = time.localtime()

timestamp = time.strftime('%H:%M:%S', currenttime)

time.sleep(2)

print(timestamp)

# Вывод

15:00:32

15:00:34

15:00:36

15:00:38

15:00:40

15:00:42

15:00:44

Process finished with exit code 0

Мы получили 7 временных отметок через каждые 2 секунды.

Использование sleep() со строкой

Применить функцию

sleep()

со строкой вам может понадобиться, если захотите вывести каждый символ строки с определённой задержкой. Реализовать это очень просто. Рассмотрим эту задачу в коде ниже.

В качестве строки возьмём слово. Переберем это слово в цикле for, а на каждой итерации поставим задержку в 4 секунды.

import time

string = 'Pythonist'

for i in string:

print(i)

time.sleep(2)

# Вывод

P

y

t

h

o

n

i

s

t

Process finished with exit code 0

Заключение

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