Python time.sleep()

Hola a todos, espero que estén aprendiendo Python bien. En este tutorial aprenderemos sobre el método sleep() de Python. La función sleep de Python pertenece al módulo tiempo de Python que ya se discutió anteriormente

Python time sleep

La función sleep de Python se utiliza para agregar un retraso en la ejecución de un programa. Podemos usar la función sleep de Python para detener la ejecución del programa durante el tiempo dado en segundos. Nota que la función sleep de Python en realidad detiene la ejecución del hilo actual solamente, no de todo el programa.

Sintaxis de la función sleep() de Python

sleep() de Python es un método del módulo tiempo de Python. Entonces, primero tenemos que importar el módulo tiempo y luego podemos usar este método. La forma de usar la función sleep() de Python es: Aquí, el argumento del método sleep() t está en segundos. Eso significa que cuando se ejecuta la declaración time.sleep(t), la siguiente línea de código se ejecutará después de t segundos. Veamos el siguiente ejemplo:

# importando el módulo tiempo
import time

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

Si ejecutas el código anterior, verás que la segunda impresión se ejecuta después de 5 segundos. Así que puedes introducir un retraso en tu código según sea necesario. El argumento puede ser un valor flotante también para tener un retraso más preciso. Por ejemplo, si deseas hacer un retraso de 100 milisegundos, que son 0.1 segundos, puedes hacerlo de la siguiente manera:

import time
time.sleep(0.100)

Ejemplo de sleep en Python

Veamos el siguiente ejemplo de la función de tiempo de sleep en Python.

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

Esto mostrará:

0
1
2
3
4
Elapsed Time = 5.059988975524902

El tiempo transcurrido es mayor que 5 porque cada vez en el bucle for, la ejecución se detiene durante 1 segundo. El tiempo adicional se debe al tiempo de ejecución del programa, la programación de hilos del sistema operativo, etc.

Diferentes tiempos de retraso de sleep() en Python

A veces, es posible que necesites un retraso de diferentes segundos. Puedes hacerlo de la siguiente manera:

import time

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

Esto mostrará:

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

Impresión dramática usando sleep()

Puede que necesites imprimir algún mensaje de manera dramática, puedes hacerlo de la siguiente manera:

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

for i in message:
    # imprimiendo cada caracter del mensaje
   print(i)
   time.sleep(0.3)

Si ejecutas el código anterior, verás que después de imprimir cada caracter del mensaje, lleva algo de tiempo, lo cual parece dramático.

Python thread sleep

La función `sleep()` de tiempo de Python es un método muy importante para la programación multiproceso. A continuación, se muestra un ejemplo simple que muestra que la función `sleep()` de tiempo de Python detiene la ejecución del hilo actual solo en la programación multiproceso.

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

La imagen siguiente muestra la salida producida por el ejemplo de `sleep()` de hilo de Python anterior. A partir de la salida, es muy claro que solo se detienen los hilos de la ejecución y no el programa completo por la función `sleep()` de tiempo de Python. Eso es todo sobre la función `sleep()` de tiempo de Python o función `sleep()` de Python. Referencia: Publicación de StackOverFlow, Documentación de API

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