# Como pausar programas com Python sleep

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](https://www.ionos.com/digitalguide/websites/web-development/web-programming-languages/ "Linguagens 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](https://www.ionos.com/digitalguide/websites/web-development/python-if-else/), [Python loops while](https://www.ionos.com/digitalguide/websites/web-development/python-while-loop/) ou [Python loops for](https://www.ionos.com/digitalguide/websites/web-development/python-for-loop/), a função permite a realização de operações mais complexas. Ao contrário de [Python break e Python continue](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/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:

```python
time.sleep(t)
```

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:

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

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:

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

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

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

## 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:

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

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

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

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:

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

A saída será:

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

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:

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

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:

```python
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()
```

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


This is a markdown version of: [https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/python-sleep/](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/python-sleep/) for AI/LLM consumption.