Hay momentos en los que deseas que tu programa se ejecute de inmediato. Pero también habrá ocasiones donde en los que deseas retrasar la ejecución de ciertas partes del código.

Aquí es donde el módulo time de Python nos puede ser útil. time es parte de la biblioteca estándar de Python, y contiene la útil función sleep() que suspende o detiene un programa durante un número de determinado de segundos:

import time

print('ejecucion inmediata')

for letra in '¡hola, mundo!':
    time.sleep(2)  # espera 2 segundos entre cada print()
    print(letra)

Resultado:

ejecucion inmediata
#Cada caracter se imprimira en patalla dspues de 2 segundos de espera

¡
h 
o
l
a
,

m
u
n
d
o
!

Los números de punto flotante (floating) también pueden dar como argumento para sleep() para tiempos más específicos. Por ejemplo, el siguiente código retrasará cada instrucción print() durante medio segundo ó 500 ms:

import time

for letra in 'usando números flotantes':
  time.sleep(0.5) # añade un retraso de 500 ms
  print(letra)

Resultado:

#Cada caracter se imprimira en pantalla despues de un retraso de 500 ms
u 
s
a
n
d
o

n
ú
m
e
r
o
s

f
l
o
t
a
n
t
e
s

También es posible generar retrasos con diferentes valores. En este caso puedes iterar sobre una lista con diferentes retrasos de tiempo con un bucle for :

import time

for i in [.5, 1, 2, 3, 4]:
  time.sleep(i)
  print(f"Retraso de {i} segundos")

Resultado:

Retraso de .5 segundos
Retraso de 1 segundos
Retraso de 2 segundos
Retraso de 3 segundos
Retraso de 4 segundos

Como pudiste ver, hay mucho que se puede hacer con la función sleep() . Ahora es tu turno de utilizar  sleep() es tus propios programas - no esperes más.

Más información:

Documentación de módulo de tiempo sobre la función sleep.

Más tutoriales de Python:

The best Python tutorials

The best Python code examples

Traducido del artículo - How to Make a Time Delay in Python Using the sleep() Function