Как замедлить программу в python

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

В этом уроке вы узнаете:

  • Что такое Python Sleep?
  • Синтаксис
  • Пример: использование функции sleep () в Python
  • Как отложить выполнение функции с помощью sleep ()?
  • Как можно добавить задержку в скрипте Python?
  • Использование функции asyncio.sleep доступно из (Python 3.4 или выше)
  • Использование Event (). Wait
  • Использование таймера

Синтаксис

import time time.sleep(seconds)

Параметры:

секунды : количество секунд, которое вы хотите, чтобы выполнение вашего кода было остановлено.

Пример: использование функции sleep () в Python

Следуйте инструкциям ниже, чтобы добавить sleep () в ваш скрипт на python.

Управление временем на python | Модуль time python (питон)

Шаг 1:

import time

Шаг 2: Добавьте time.sleep ()

Число 5, заданное как input для sleep (), – это количество секунд, в течение которого вы хотите, чтобы выполнение кода было остановлено при его выполнении.

time.sleep(5)

Вот рабочий код вместе с сообщениями внутри print (), чтобы показать задержку отображения сообщения на терминале при выполнении.

import time print(«Welcome to guru99 Python Tutorials») time.sleep(5) print(«This message will be printed after a wait of 5 seconds»)

Вывод:

Welcome to guru99 Python Tutorials This message will be printed after a wait of 5 seconds

Как отложить выполнение функции с помощью sleep ()?

Пример, показанный ниже, имеет функцию, называемую display (). Функция display () выводит сообщение «Welcome to Guru99 Tutorials». Когда функция вызывается, она запускается и отображает сообщение внутри терминала.

Чтобы добавить задержку к выполнению функции, давайте добавим time.sleep () перед вызовом функции. Во время выполнения time.sleep () остановится на указанное количество секунд, а затем будет вызвана функция display ().

Пример:

import time print(‘Code Execution Started’) def display(): print(‘Welcome to Guru99 Tutorials’) time.sleep(5) display() print(‘Function Execution Delayed’)

Вывод:

Code Execution Started Welcome to Guru99 Tutorials Function Execution Delayed

Как можно добавить задержку в скрипте Python?

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

Ранее мы видели несколько примеров использования time.sleep (). Давайте попробуем другой пример, используя time.sleep ().

Пример:

В коде есть цикл for, который будет принимать строковую переменную и печатать каждый символ с задержкой в ​​1 секунду.

import time my_message = «Guru99» for i in my_message: print(i) time.sleep(1)

Вывод:

G u r u 9 9

Использование функции asyncio.sleep доступно из (Python 3.4 или выше)

Вы можете использовать asyncio.sleep с Python версии 3.4 и выше. Чтобы использовать метод сна asyncio, вам нужно добавить async и await в функцию, как показано в примере ниже:

Самый БЫСТРЫЙ стандартный цикл Python − Интеграция с языком Си

В скрипте есть вызов функции display (), который выводит сообщение «Добро пожаловать в Guru99». В функции async и await используются два ключевых слова. Ключевое слово async добавляется в начале определения функции, а ожидание добавляется непосредственно перед asyncio.sleep (). Оба ключевых слова async / await предназначены для выполнения асинхронной задачи.

Когда вызывается функция display (), и она встречает await asyncio.sleep (5), код остановится или остановится в этой точке на 5 секунд и, как только будет выполнено, напечатает сообщение.

import asyncio print(‘Code Execution Started’) async def display(): await asyncio.sleep(5) print(‘Welcome to Guru99 Tutorials’) asyncio.run(display())
Code Execution Started Welcome to Guru99 Tutorials

Использование Event (). Wait

Метод Event ().

Читайте также:
Программа может делать фотографии только в разрешении 5 мегапикселей нет это фантастика

Wait происходит из модуля потоков. Метод Event.wait () остановит выполнение любого процесса на количество секунд, которое он принимает в качестве аргумента. Работа Event показана в примере ниже:

Код использует Event (). Wait (5). Число 5 – это количество секунд, в течение которых код будет задерживаться для перехода к следующей строке, которая вызывает функцию display (). По истечении 5 секунд будет вызвана функция display (), и сообщение будет напечатано внутри терминала.

from threading import Event print(‘Code Execution Started’) def display(): print(‘Welcome to Guru99 Tutorials’) Event().wait(5) display()

Вывод:

Code Execution Started Welcome to Guru99 Tutorials

Использование таймера

Таймер – это еще один метод, доступный в Threading, который помогает получить те же функции, что и в спящем режиме. Работа таймера показана в примере ниже:

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

from threading import Timer print(‘Code Execution Started’) def display(): print(‘Welcome to Guru99 Tutorials’) t = Timer(5, display) t.start()

Вывод:

Code Execution Started Welcome to Guru99 Tutorials

Резюме:

  • Функция сна () Python приостанавливает или задерживает выполнение кода на количество секунд, заданное в качестве входных данных для сна (). Функция sleep () является частью временного модуля.
  • Вы можете использовать функцию sleep (), если хотите временно остановить выполнение вашего кода. Например, если вы ожидаете завершения другого процесса или загрузки файла и т. Д.
  • Есть много способов добавить задержку к коду помимо сна, и они используют asyncio.sleep, Event (). Wait и Timer.
  • Подобно методу sleep (), существует метод asyncio.sleep () с версией Python 3.4 и выше. Чтобы использовать метод сна asyncio, вам нужно добавить async и ожидать функцию
  • Метод Event (). Wait происходит из модуля потоков. Метод Event.wait () остановит выполнение любого процесса на количество секунд, которое он принимает в качестве аргумента.
  • Таймер – это еще один метод, доступный в Threading, и он помогает получить ту же функциональность, что и режим сна

Источник: coderlessons.com

Как добавить задержки в код

toadmin.ru

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

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

В этом руководстве вы изучите синтаксис использования функции sleep() в Python и несколько примеров, чтобы понять, как она работает. Давайте начнем!

Синтаксис Python time.sleep()

Модуль time, встроенный в стандартную библиотеку Python, предоставляет несколько полезных функций, связанных со временем. В качестве первого шага импортируйте модуль времени в рабочую среду:

import time

Поскольку функция sleep() является частью модуля time, теперь вы можете получить к ней доступ и использовать ее со следующим общим синтаксисом:

time.sleep(n)

Здесь n — количество секунд сна. Это может быть целое число или число с плавающей запятой.

Иногда требуемая задержка может составлять несколько миллисекунд. В этих случаях вы можете преобразовать продолжительность в миллисекундах в секунды и использовать ее в вызове функции сна. Например, если вы хотите ввести задержку в 100 миллисекунд, вы можете указать ее как 0,1 секунды: time.sleep(0,1).

▶ Вы также можете импортировать только функцию сна из модуля времени:

from time import sleep

Если вы используете описанный выше метод для импорта, вы можете вызвать функцию sleep() напрямую, без использования time.sleep().

Теперь, когда вы изучили синтаксис функции Python sleep(), давайте рассмотрим примеры кода, чтобы увидеть функцию в действии. Вы можете загрузить сценарии Python, используемые в этом руководстве, из папки python-sleep в этом репозитории GitHub. ‍

Задержка выполнения кода с помощью sleep()

В качестве первого примера воспользуемся функцией сна, чтобы отложить выполнение простой программы на Python.

В следующем фрагменте кода:

  • Первый оператор print() выполняется без задержки.
  • Затем мы вводим задержку в 5 секунд, используя функцию sleep().
  • Второй оператор print() будет выполнен только после завершения операции сна.
Читайте также:
Сценарий игровой программы что где когда

# /python-sleep/simple_example.py import time print(«Print now») time.sleep(5) print(«Print after sleeping for 5 seconds»)

Теперь запустите файл simple_example.py и посмотрите на результат:

$ python3 simple_example.py

Добавьте различные задержки в кодовый блок

В предыдущем примере мы ввели фиксированную задержку в 5 секунд между выполнением двух операторов print(). Далее, давайте закодируем еще один пример, чтобы ввести разные времена задержки при циклическом выполнении итерируемого объекта.

В этом примере мы хотели бы сделать следующее:

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

Цикл через строку строк

Рассмотрим строку, предложение. Это строка, где каждое слово является строкой само по себе.

Если мы пройдемся по строке, мы получим каждый символ, как показано ниже:

>>> sentence = «How long will this take?» >>> for char in sentence: . print(char) # Output (truncated for readability) H o w . . . t a k e ?

Но это не то, чего мы хотим. Мы хотели бы пройтись по предложению и получить доступ к каждому слову. Для этого мы можем вызвать метод split() для строки предложения. Это вернет список строк, полученных путем разделения строки предложения, для всех вхождений пробелов.

>>> sentence.split() [‘How’, ‘long’, ‘will’, ‘this’, ‘take?’] >>> for word in sentence.split(): . print(word) # Output How long will this take?

Перебор итерируемых объектов с разными задержками

Вернемся к примеру:

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

Здесь мы хотели бы одновременно пройтись по двум спискам: по списку delay_times и по списку строк, полученных путем разбиения строки предложения. Вы можете использовать функцию zip() для выполнения этой параллельной итерации.

Функция Python zip(): zip(list1, list2) возвращает итератор кортежей, где каждый кортеж содержит элемент с индексом i в списках list1 и list2.

# /python-sleep/delay_times.py import time sleep_times = [3,4,1.5,2,0.75] sentence = «How long will this take?» for sleep_time,word in zip(sleep_times,sentence.split()): print(word) time.sleep(sleep_time)

Без функции сна управление немедленно перешло бы к следующей итерации. Поскольку мы ввели задержку, следующий проход по циклу происходит только после завершения операции сна.

Теперь запустите delay_times.py и посмотрите на вывод:

$ python3 delay_times.py

Последующие слова в строке будут распечатаны с задержкой. Задержка после вывода слова с индексом i в строке равна числу с индексом i в списке delay_times.

Таймер обратного отсчета в Python

В качестве следующего примера давайте закодируем простой таймер обратного отсчета на Python.

Давайте определим функцию countDown():

# /python-sleep/countdown.py import time def countDown(n): for i in range(n,-1,-1): if i==0: print(«Ready to go!») else: print(i) time.sleep(1)

Далее разберем определение функции countDown():

  • Функция принимает число n в качестве аргумента и ведет обратный отсчет до нуля, начиная с этого числа n.
  • Мы используем time.sleep(1) для достижения задержки в одну секунду между отсчетами.
  • Когда счетчик достигает 0, функция выводит «Готово к работе!».

Чтобы реализовать операцию обратного отсчета, мы использовали функцию range() с отрицательным значением шага, равным -1. range(n, -1, -1) поможет нам перебрать диапазон чисел в n, n – 1, n – 2 и так далее до нуля. Напомним, что конечная точка по умолчанию исключается при использовании функции range().

Далее добавим вызов функции countDown() с 5 в качестве аргумента.

countDown(5)

Теперь запустите скрипт countdown.py и посмотрите, как работает функция countDown!

$ python3 countdown.py

Функция сна в многопоточности

Модуль Python threading предлагает готовые возможности многопоточности. В Python глобальная блокировка интерпретатора или GIL гарантирует, что в любой момент времени работает только один активный поток.

Однако во время операций ввода-вывода и операций ожидания, таких как сон, процессор может приостановить выполнение текущего потока и переключиться на другой ожидающий поток.

Чтобы понять, как это работает, давайте рассмотрим пример.

Создание и запуск потоков в Python

Рассмотрим следующие функции: func1(), func2() и func3(). Они перебирают диапазон чисел и распечатывают их. За этим следует операция сна — на определенное количество секунд — во время каждого прохода через цикл. Мы использовали разное время задержки для каждой из функций, чтобы лучше понять, как выполнение переключается между потоками одновременно.

Читайте также:
Какая программа нужна для набора текста

import time def func1(): for i in range(5): print(f»Running t1, print .») time.sleep(2) def func2(): for i in range(5): print(f»Running t2, print .») time.sleep(1) def func3(): for i in range(4): print(f»Running t3, print .») time.sleep(0.5)

В Python вы можете использовать конструктор Thread() для создания экземпляра объекта потока. Использование синтаксиса threading.Thread(target = …, args = …) создает поток, который запускает целевую функцию с аргументом, указанным в кортеже args.

В этом примере функции func1, func2 и func3 не принимают никаких аргументов. Поэтому достаточно указать только имя функции в качестве цели. Затем мы определяем объекты потока, t1, t2 и t3 с func1, func2 и func3 в качестве целей соответственно.

t1 = threading.Thread(target=func1) t2 = threading.Thread(target=func2) t3 = threading.Thread(target=func3) t1.start() t2.start() t3.start()

Вот полный код для примера потоков:

# /python-sleep/threads.py import time import threading def func1(): for i in range(5): print(f»Running t1, print .») time.sleep(2) def func2(): for i in range(5): print(f»Running t2, print .») time.sleep(1) def func3(): for i in range(4): print(f»Running t3, print .») time.sleep(0.5) t1 = threading.Thread(target=func1) t2 = threading.Thread(target=func2) t3 = threading.Thread(target=func3) t1.start() t2.start() t3.start()

Наблюдайте за выходом. Выполнение изменяется между тремя потоками. Поток t3 имеет наименьшее время ожидания, поэтому он приостанавливается на наименьшее количество времени. Поток t1 имеет наибольшую продолжительность бездействия, составляющую две секунды, поэтому это последний поток, завершивший выполнение.

Чтобы узнать больше, прочитайте учебник по основам многопоточности в Python.

Вывод

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

Вы можете получить доступ к функции sleep() из встроенного модуля time, time.sleep(). Чтобы отложить выполнение на n секунд, используйте time.sleep(n). Кроме того, вы видели примеры задержки последующих итераций в цикле с помощью различных значений, обратного отсчета и многопоточности.

Теперь вы можете изучить более продвинутые возможности модуля времени. Хотите работать с датами и временем в Python? В дополнение к модулю времени вы можете использовать функциональные возможности модулей даты и времени и календаря.

Далее научитесь рассчитывать разницу во времени в Python.⏰

Источник: toadmin.ru

python time sleep

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

Пример 1: Python sleep

import time print(«Printed.») time.sleep(2.4) print(«Печать после 2.4 сек.»)

Разберем пример выше.

  • Печатается «Printed»
  • Приостанавливается выполнение программы на 2.4 секунды
  • Возобновляется работа программы

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

Пример 2: Python цифровые часы

Ниже мы рассмотрим код программы, которая создает цифровые часы.

import time while True: localtime = time.localtime() result = time.strftime(«%I:%M:%S %p», localtime) print(result) time.sleep(1) Результат: 02:10:50 PM 02:10:51 PM 02:10:52 PM 02:10:53 PM 02:10:54 PM . .. .

Что мы сделали в данной программе? Мы определили текущее время, и внутри бесконечного цикла while, каждую секунду печатаем время.

Пример 3: Многопоточность Python

Программы описанные выше, являются однопоточными. Ниже рассмотрим пример многопоточной программы в Python. Многопоточность для нас пока еще является новой темой, но в скором времени, мы научимся создавать многопjточные приложения.

Для работы многопоточности, нам необходимо использовать, модуль threading

import threading def print_hello_three_times(): for i in range(3): print(«Hello») def print_hi_three_times(): for i in range(3): print(«Hi») t1 = threading.Thread(target=print_hello_three_times) t2 = threading.Thread(target=print_hi_three_times) t1.start() t2.start() Результат:
Hello Hello Hi Hello Hi Hi

Приведенная выше программа, имеет два потока выполнения t1 и t2 . Потоки запускаются с помощью t1.start() и t2.start() . Обращаю ваше внимание на то, что данные потоки в этой программе запускаются одновременно, и результат у вас может быть разным.

С помощью функции time.sleep() вы можете останавливать работу одного потока на нужное количество времени. В приведенном ниже примере рассмотрим использование time.sleep() в многопоточной программе.

Пример 4: sleep() в многопоточной программе

import threading import time def print_hello(): for i in range(4): time.sleep(0.5) print(«Hello») def print_hi(): for i in range(4): time.sleep(0.7) print(«Hi») t1 = threading.Thread(target=print_hello) t2 = threading.Thread(target=print_hi) t1.start() t2.start()

Как вы можете заметить в приведенной выше программе, мы использовали функцию time.sleep() и приостановили работу потоков на 0.5 и 0.7 секунд соответственно.

Источник: pydocs.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru