Tempo de sono do Python()

Olá a todos, espero que estejam aprendendo Python bem. Neste tutorial, vamos aprender sobre o método sleep() do Python. A função sleep do Python pertence ao módulo python time que já foi discutido anteriormente

Python time sleep

A função sleep do Python é usada para adicionar atraso na execução de um programa. Podemos usar a função sleep do Python para interromper a execução do programa por um determinado tempo em segundos. Note que a função sleep do Python na verdade para a execução apenas da thread atual, não o programa inteiro.

Sintaxe da função sleep() do Python

sleep() do Python é um método do módulo python time. Portanto, primeiro temos que importar o módulo time e depois podemos usar este método. A forma de usar a função sleep() do Python é: Aqui o argumento do método sleep() t está em segundos. Isso significa que, quando a declaração time.sleep(t) é executada, a próxima linha de código será executada após t segundos. Veja o exemplo a seguir:

# importando o módulo time
import time

print("Before the sleep statement")
time.sleep(5)
print("After the sleep statement")

Se você executar o código acima, verá que a segunda impressão ocorre após 5 segundos. Portanto, você pode inserir atrasos em seu código conforme necessário. O argumento pode ser um valor decimal para ter atrasos mais precisos. Por exemplo, se você deseja um atraso de 100 milissegundos, que é 0,1 segundos, siga o exemplo abaixo:

import time
time.sleep(0.100)

Exemplo de sleep em Python

Veja o exemplo a seguir da função de sleep em Python.

import time
startTime = time.time()
for i in range(0,5):
   print(i)
   # atraso de 1 segundo
   time.sleep(1)
endTime = time.time()
elapsedTime = endTime - startTime
print("Elapsed Time = %s" % elapsedTime)

Isso produzirá:

0
1
2
3
4
Elapsed Time = 5.059988975524902

O tempo decorrido é maior que 5 porque a execução é interrompida por 1 segundo a cada iteração no loop. O tempo extra ocorre devido ao tempo de execução do programa, ao agendamento de threads do sistema operacional, etc.

Diferentes tempos de atraso do sleep() em Python

Às vezes, pode ser necessário um atraso por diferentes segundos. Você pode fazer assim:

import time

for i in [ .5, .1, 1, 2]:
   print("Waiting for %s" % i , end='')
   print(" seconds")
   time.sleep(i)

Isso produzirá:

Waiting for 0.5 seconds
Waiting for 0.1 seconds
Waiting for 1 seconds
Waiting for 2 seconds

Impressão dramática usando sleep()

Você pode precisar imprimir alguma mensagem de maneira dramática, você pode fazer isso da seguinte maneira:

# importando o módulo de tempo
import time
message = "Hi!!! I am trying to create suspense"

for i in message:
   # imprimindo cada caractere da mensagem
   print(i)
   time.sleep(0.3)

Se você executar o código acima, então, verá que após imprimir cada caractere da mensagem, está levando algum tempo, o que parece dramático.

Python thread sleep

A função de sleep() do tempo do Python é um método muito importante para multithreading. Abaixo está um exemplo simples mostrando que a função de sleep do tempo do Python interrompe a execução do thread atual apenas na programação multithreaded.

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")

A imagem abaixo mostra a saída produzida pelo exemplo de sleep do thread do Python acima. A partir da saída, fica muito claro que apenas os threads estão sendo interrompidos da execução e não o programa inteiro pela função de sleep do tempo do Python. Isso é tudo sobre a função de sleep do tempo do Python ou a função de sleep do Python. Referência: Post do StackOverFlow, Doc de API

Source:
https://www.digitalocean.com/community/tutorials/python-time-sleep