en Python, o cualquier otro lenguaje de programación, a veces desea agregar un retardo de tiempo en su código antes de proceder a la siguiente sección del código.
si esto es lo que quieres hacer, entonces deberías usar la función sleep del módulo time.
primero, comenzaré discutiendo cómo usar la función sleep de Python. Después de eso hablaré más sobre algunas preguntas frecuentes y cómo la función de sueño se implementa realmente debajo del capó.,
Sleep function
Como mencioné, Sleep es una función incorporada de Python en el módulo de tiempo.
así que para usar sleep, primero tendrá que importar el módulo de tiempo.
sleep toma solo un argumento que es el período de tiempo en segundos durante el que desea dormir.
usar la función sleep en Python 2 y Python 3 es exactamente lo mismo, por lo que no tendrá que preocuparse por la versión de Python en la que se ejecuta su código.
Es realmente muy simple y directo. Veamos algunos ejemplos.,
Python 2
digamos que quieres usar sleep para añadir un retraso de 10 segundos.
en el siguiente ejemplo, imprimo el tiempo transcurrido entre la invocación de la función sleep y después de que regrese.
como se puede ver, el tiempo transcurrido es muy cercano a 10 segundos que es lo que esperamos.
Python 3
No hay cambios en Python 3.
Puede usar la función sleep en Python 2 exactamente como lo hace en Python 2.
preguntas frecuentes
p: ¿Cómo utilizar la función sleep para dormir durante un período de tiempo inferior a un segundo, por ejemplo, milisegundos o microsegundos?,
gran pregunta.
la función sleep en realidad toma un número de coma flotante como argumento, no un entero.
y eso significa que puede pasar cualquier fracción de segundo como argumento.
por ejemplo:
p: ¿Cómo usar la función sleep para dormir hasta una hora específica?
Esta es una pregunta muy común.
Dependiendo de lo que usted está tratando de hacer, hay dos maneras de lograr esto.
la manera directa es precomputar el retardo (en segundos) hasta ese momento específico antes de llamar a la función de reposo.
otra forma es usar el evento.,función wait del módulo event.
si lo que intentas hacer es bloquear un hilo hasta que ocurra una condición, es mucho mejor usar wait().
p: ¿Cómo se implementa realmente el sueño?
Esta es una pregunta fantástica.
sleep no está realmente implementado por Python.
bueno, lo es, pero es simplemente un envoltorio alrededor de algo más que está implementado por el sistema operativo.
Todos los sistemas operativos tienen una llamada al sistema Sleep ().
si usted no sabe lo que es una llamada al sistema, entonces usted debe!,
Aquí está el libro que recomiendo para aprender sobre conceptos de sistemas operativos.
pero de cualquier manera, puede pensar en una llamada al sistema como una API o una interfaz que el sistema operativo proporciona para que los programas del espacio de usuario interactúen con el sistema operativo.
entonces, ¿qué hace un sistema operativo cuando recibe una llamada al sistema de reposo?
básicamente lo que hará el sistema operativo es que suspenderá el proceso (su programa) de ser programado en la CPU durante el período de tiempo que especificó.,
tenga en cuenta que esto es completamente diferente de agregar delay usando un bucle for ficticio que no hace nada (que es algo que nunca debe hacer).
en el caso de un bucle for ficticio, el proceso todavía se está ejecutando en la CPU.
pero en el caso de Sleep (), el proceso estará efectivamente inactivo durante un tiempo hasta que el sistema operativo comience a programarlo de nuevo en la CPU.
¿aprendiendo Python?
Echa un vistazo a la sección Cursos!,
publicaciones destacadas
- El Camino de aprendizaje de Python (de Principiante a Maestro)
- aprender Ciencias de la Computación (de cero a héroe)
- Guía de preparación de entrevistas de codificación
- La Guía del programador para invertir en el mercado de Valores
¿estás empezando tu carrera de programación?
ofrezco mi mejor contenido para principiantes en el boletín.
- consejos de Python para principiantes, intermedios y niveles avanzados.
- CS consejos y consejos profesionales.
- descuentos especiales en Mis Cursos premium cuando se lanzan.,
Y mucho más…
Deja una respuesta