In Python, o qualsiasi altro linguaggio di programmazione, a volte si desidera aggiungere un ritardo nel codice prima di procedere alla sezione successiva del codice.

Se questo è ciò che vuoi fare, allora dovresti usare la funzione sleep dal modulo time.

Per prima cosa, inizierò discutendo su come usare la funzione sleep di Python. Dopo di che parlerò di più su alcune domande frequenti e su come la funzione sleep è effettivamente implementata sotto il cofano.,

Funzione Sleep

Come ho detto, Sleep è una funzione integrata in Python nel modulo time.

Quindi, al fine di utilizzare il sonno, è necessario importare il modulo tempo prima.

sleep richiede solo un argomento che è il periodo di tempo in secondi per cui si desidera dormire.

Usare la funzione sleep in Python 2 e Python 3 è esattamente lo stesso, quindi non dovrai preoccuparti di quale versione di Python è in esecuzione il tuo codice.

È davvero molto semplice e diretto. Passiamo attraverso alcuni esempi.,

Python 2

Supponiamo che tu voglia usare sleep per aggiungere un ritardo di 10 secondi.

Nell’esempio seguente, stampa il tempo trascorso tra l’invocazione della funzione sleep e dopo il ritorno.

Come puoi vedere, il tempo trascorso è molto vicino a 10 secondi, che è quello che ci aspettiamo.

Python 3

Nessuna modifica in Python 3.

È possibile utilizzare la funzione sleep in Python 2 esattamente come si fa in Python 2.

Domande frequenti

D: Come utilizzare la funzione sleep per dormire per un periodo di tempo inferiore a un secondo, ad esempio millisecondi o microsecondi?,

Ottima domanda.

La funzione sleep prende effettivamente un numero in virgola mobile come argomento, non un numero intero.

E ciò significa che puoi passare qualsiasi frazione di secondo come argomento.

Ad esempio:

D: Come utilizzare la funzione sleep per dormire fino a un momento specifico?

Questa è una domanda molto comune.

A seconda di cosa stai cercando di fare, ci sono due modi diversi per raggiungere questo obiettivo.

Il modo semplice è quello di precalcolare il ritardo (in secondi) fino a quel momento specifico prima di chiamare la funzione sleep.

Un altro modo è usare l’evento.,attendere la funzione dal modulo evento.

Se quello che stai cercando di fare è bloccare un thread fino a quando non si verifica una condizione, è molto meglio usare wait().

D: Come viene effettivamente implementato il sonno?

Questa è una domanda fantastica.

sleep non è effettivamente implementato da Python.

Beh, lo è, ma è semplicemente un wrapper attorno a qualcos’altro che è implementato dal sistema Operativo.

Tutti i sistemi operativi hanno una chiamata di sistema Sleep ().

Se non sai cos’è una chiamata di sistema, allora dovresti!,

ecco il libro che consiglio per conoscere i concetti dei sistemi operativi.

Ma in entrambi i casi, puoi pensare a una chiamata di sistema come un’API o un’interfaccia che il sistema operativo fornisce ai programmi dello spazio utente per interagire con il sistema operativo.

Quindi cosa fa un sistema operativo quando riceve una chiamata di sistema Sleep?

Fondamentalmente ciò che farà il sistema operativo è che sospenderà il processo (il tuo programma) dalla pianificazione sulla CPU per il periodo di tempo specificato.,

Nota che questo è completamente diverso dall’aggiungere delay usando un dummy for loop che non fa nulla (che è qualcosa che non dovresti mai fare).

Nel caso di un dummy for loop, il processo è in realtà ancora in esecuzione sulla CPU.

Ma nel caso di Sleep(), il processo sarà effettivamente dormiente per un po ‘ fino a quando il sistema operativo non inizierà a programmarlo di nuovo sulla CPU.

Imparare Python?

Controlla la sezione Corsi!,

Messaggi in primo piano

  • Il percorso di apprendimento Python (Dal principiante alla padronanza)
  • Imparare l’informatica (Da Zero a eroe)
  • Coding Interview Preparation Guide
  • The Programmer’s Guide to Stock Market Investing
  • Come iniziare il tuo blog di programmazione?

Stai iniziando la tua carriera di programmazione?

Fornisco i miei migliori contenuti per i principianti nella newsletter.

  • Suggerimenti Python per principianti, intermedi e livelli avanzati.
  • CS Suggerimenti di carriera e consigli.
  • Sconti speciali sui miei corsi premium al momento del lancio.,

E molto altro ancora Subscribe

Iscriviti ora. E ‘ gratis.