Python sleep é uma função que permite pausar momentaneamente um programa e retomá-lo sem alterações. Esse comando simples da linguagem de programação web possibilita cronometrar saídas, exibir o horário, iniciar uma contagem regressiva ou configurar um alarme.

O que é o Python sleep

Python sleep oferece a opção de pausar um programa por um período determinado e retomá-lo automaticamente após o tempo de espera acabar. O tempo extra pode permitir que visitantes leiam instruções ou a criação de um contador digital. O Python sleep pode ser usado em conjunto com o módulo time. Mesmo que sua estrutura e uso sejam relativamente simples, ao ser combinada com instruções Python if else, Python loops while ou Python loops for, a função permite a realização de operações mais complexas. Ao contrário de Python break e Python continue, o Python sleep não interfere no programa além do atraso programado.

Qual é a sintaxe e funcionalidade do Python sleep?

A sintaxe do Python sleep é sempre assim:

time.sleep(t)
python

t indica o tempo de espera, geralmente especificado em segundos.

O Python sleep pausa uma sequência específica de eventos. Um primeiro comando é dado, seguido por uma pausa com uma janela de tempo especificada e uma instrução para a ação a ser realizada após a pausa.

Um exemplo simples ilustra perfeitamente o processo. Nele, uma linha deve ser exibida, o programa pausado por cinco segundos e então uma segunda linha exibida:

import time
print("Esta frase será exibida imediatamente.")
time.sleep(5)
print("Esta frase será exibida cinco segundos depois.")
python

Alternativamente, você pode atribuir o valor x ao time.sleep para criar uma pausa. O código para uma pausa de um minuto será assim:

import time
wait_time = 60
time.sleep(wait_time)
python

Também é possível especificar o tempo de espera em milissegundos, dividindo o valor por 1.000. Veja como:

import time
print("Esta frase será exibida imediatamente.")
time.sleep(500/1000)
print("Esta frase será exibida após quinhentos milissegundos.")
python

Como criar relógio digital com Python sleep?

É possível criar um relógio digital com Python sleep e um loop while tradicional, o que dá um novo uso à função. Solicite o horário atual e exiba-o no formato horas, minutos e segundos. Depois, configure um atraso de exatamente um segundo e comande ao programa repetir o processo. O código é o seguinte:

import time
while True:
    localtime = time.localtime()
    result = time.strftime("%I : %M : %S %p", localtime)
    print(result)
    time.sleep(1)
python

A saída será exibida no formato de 12 horas:

04 : 16 : 47 PM
04 : 16 : 48 PM
04 : 16 : 49 PM
04 : 16 : 50 PM
04 : 16 : 51 PM
plaintext

Caso você não defina um ponto final, o relógio continuará rodando. Para encerrar o loop infinito, use a combinação de teclas [Ctrl] + [C].

Como criar temporizador?

O Python sleep também é excelente para criar temporizadores. Para configurar um temporizador (timer) de cinco minutos, siga este exemplo:

import time
print("Começamos agora: %s" % time.ctime())
time.sleep(300)
print("O tempo acabou: %s" % time.ctime())
python

A saída será:

Começamos agora: Wed Dec 14 11:10:14 2022
O tempo acabou: Wed Dec 14 11:15:14 2022
plaintext

Exatamente 300 segundos, ou cinco minutos, se passam entre as duas saídas.

Como fazer contagem regressiva com Python sleep

Você também pode usar o Python sleep para fazer contagens regressivas. No exemplo abaixo, criamos uma contagem regressiva de 10 a 0. O princípio é semelhante ao do exemplo anterior, mas um loop for é usado desta vez:

import time
for i in reversed(range(1, 11)):
    print(i)
    time.sleep(1)
print("Aqui vamos nós!")
python

O programa contará os números em ordem decrescente a cada segundo. Assim que atingir o número 1, a mensagem “Aqui vamos nós!” será exibida.

Python sleep e multithreading

O Python sleep também pode ser usado em multithreading, que envolve a execução de várias threads simultaneamente. No próximo exemplo, duas saídas são solicitadas, com dois threads diferentes, por meio de loops for. O Python sleep controla as execuções, garantindo a ordem do programa:

import threading
import time
def first():
    for i in range(5):
        time.sleep(0.5)
        print("Esta é a primeira função")
def second():
    for i in range(5):
        time.sleep(0.7)
        print("Esta é a segunda função")
t1 = threading.Thread(target=first)
t2 = threading.Thread(target=second)
t1.start()
t2.start()
python

Com esse código, você poderá executar múltiplas funções com controle de tempo eficiente.

Este artigo foi útil?
Ir para o menu principal