In diesem Tutorial erfahren Sie, wie Sie die Funktion sleep () aus dem integrierten Zeitmodul von Python verwenden, um dem Code Zeitverzögerungen hinzuzufügen.
Wenn Sie ein einfaches Python-Programm ausführen, erfolgt die Codeausführung der Reihe nach—eine Aussage nach der anderen—ohne jede Zeitverzögerung. In einigen Fällen müssen Sie jedoch möglicherweise die Ausführung von Code verzögern. Das sleep()
Die Funktion aus dem in Python integrierten Zeitmodul hilft Ihnen dabei.
In diesem Tutorial lernen Sie die Syntax der Verwendung von sleep()
Funktion in Python und mehrere Beispiele, um zu verstehen, wie es funktioniert. Lass uns anfangen!
Syntax of Python time.sleep()
Die time
-Modul, das in die Python-Standardbibliothek integriert ist, bietet mehrere nützliche zeitbezogene Funktionen. Importieren Sie im ersten Schritt die time
Modul in Ihre Arbeitsumgebung:
import time
Da die sleep()
Funktion ist Teil der time
Modul können Sie jetzt mit der folgenden allgemeinen Syntax darauf zugreifen und es verwenden:
time.sleep(n)
Hier n
ist die Anzahl von Sekunden schlafen. Es kann eine Ganzzahl oder eine Fließkommazahl sein.
Manchmal kann die erforderliche Verzögerung einige Millisekunden betragen. In diesen Fällen können Sie die Dauer in Millisekunden in Sekunden umrechnen und im Aufruf der Sleep-Funktion verwenden. Wenn Sie beispielsweise eine Verzögerung von 100 Millisekunden einführen möchten, können Sie sie mit 0.1 Sekunden angeben: time.sleep(0.1)
.
▶ Sie können auch nur die importieren sleep
Funktion von der time
Modul:
from time import sleep
Wenn Sie die obige Methode zum Importieren verwenden, können Sie anschließend die aufrufen sleep()
Funktion direkt – ohne Verwendung time.sleep()
.
Nun, da Sie die Syntax von Python gelernt haben sleep()
Funktion, lassen Sie uns Beispiele codieren, um die Funktion in Aktion zu sehen. Sie können die in diesem Tutorial verwendeten Python-Skripts von herunterladen Python-Schlaf Ordner in diesem GitHub-Repo. 👩🏽💻
Delay Code Execution with sleep()
Als erstes Beispiel verwenden wir die Sleep-Funktion, um die Ausführung eines einfachen Python-Programms zu verzögern.

Im folgenden Code-Schnipsel:
- Der Erste
print()
Anweisung wird ohne Verzögerung ausgeführt. - Wir führen dann eine Verzögerung von 5 Sekunden mit ein
sleep()
Funktion. - Der zweite
print()
-Anweisung wird erst ausgeführt, nachdem der Sleep-Vorgang beendet ist.
# /python-sleep/simple_example.py
import time
print("Print now")
time.sleep(5)
print("Print after sleeping for 5 seconds")
Führen Sie jetzt die simple_example.py
Datei und beobachten Sie die Ausgabe:
$ python3 simple_example.py
Add Different Delays to a Code Block
Im vorherigen Beispiel haben wir eine feste Verzögerung von 5 Sekunden zwischen der Ausführung von zwei eingeführt print()
Aussagen. Lassen Sie uns als Nächstes ein weiteres Beispiel codieren, um unterschiedliche Verzögerungszeiten einzuführen, wenn eine iterierbare Schleife durchlaufen wird.
In diesem Beispiel möchten wir Folgendes tun:
- Durchlaufen Sie einen Satz, greifen Sie auf jedes Wort zu und drucken Sie es aus.
- Nachdem wir jedes Wort ausgedruckt haben, möchten wir eine bestimmte Zeit warten, bevor wir das nächste Wort im Satz ausgeben.
Looping durch eine Reihe von Strings
Betrachten Sie die Schnur, sentence
. Es ist eine Zeichenfolge, bei der jedes Wort eine Zeichenfolge für sich ist.
Wenn wir die Zeichenfolge durchlaufen, erhalten wir jedes Zeichen wie gezeigt:
>>> sentence = "How long will this take?"
>>> for char in sentence:
... print(char)
# Output (truncated for readability)
H
o
w
.
.
.
t
a
k
e
?
Aber das wollen wir nicht. Wir möchten den Satz durchlaufen und auf jedes Wort zugreifen. Dazu können wir die anrufen split()
Methode auf der sentence
Schnur. Dadurch wird eine Liste von Zeichenfolgen zurückgegeben, die durch Aufteilen von erhalten werden sentence
Zeichenfolge – an Alle Vorkommen von Leerzeichen.
>>> sentence.split()
['How', 'long', 'will', 'this', 'take?']
>>> for word in sentence.split():
... print(word)
# Output
How
long
will
this
take?
Iterables mit unterschiedlichen Verzögerungen durchlaufen
Betrachten wir das Beispiel noch einmal:
sentence
ist die Zeichenfolge, die wir durchlaufen möchten, um auf jedes Wort zuzugreifen.delay_times
ist die Liste der Verzögerungszeiten, die wir als Argument für verwendensleep()
Funktion bei jedem Durchlauf durch die Schleife.
Hier möchten wir zwei Listen gleichzeitig durchlaufen: die delay_times
list und die Liste der Strings, die durch Aufteilen der erhalten werden sentence
Schnur. Du kannst den ... benutzen zip()
Funktion, um diese parallele Iteration durchzuführen.
Die Python-zip()-Funktion: zip(list1, list2) gibt einen Iterator von Tupeln zurück, wobei jedes Tupel das Element am Index i in list1 und list2 enthält.
# /python-sleep/delay_times.py
import time
sleep_times = [3,4,1.5,2,0.75]
sentence = "How long will this take?"
for sleep_time,word in zip(sleep_times,sentence.split()):
print(word)
time.sleep(sleep_time)
Ohne die Sleep-Funktion würde die Steuerung sofort mit der nächsten Iteration fortfahren. Da wir eine Verzögerung eingeführt haben, findet der nächste Durchlauf durch die Schleife erst statt, nachdem die Schlafoperation abgeschlossen ist.
Jetzt lauf delay_times.py
und beobachte die Ausgabe:
$ python3 delay_times.py
Die nachfolgenden Wörter des Strings werden zeitverzögert ausgedruckt. Die Verzögerung nach dem Ausdrucken des Wortes am Index i
in der Zeichenfolge ist die Zahl am Index i
der delay_times
Liste.
Countdown Timer in Python
Lassen Sie uns als nächstes Beispiel einen einfachen Countdown-Timer in Python codieren.

Lassen Sie uns eine Funktion definieren countDown()
:
# /python-sleep/countdown.py
import time
def countDown(n):
for i in range(n,-1,-1):
if i==0:
print("Ready to go!")
else:
print(i)
time.sleep(1)
Als nächstes wollen wir die Definition von parsen countDown()
Funktion:
- Die Funktion übernimmt eine Zahl
n
als Argument und zählt von dieser Zahl ausgehend bis auf Null heruntern
. - Wir verwenden time.sleep(1), um eine Verzögerung von einer Sekunde zwischen den Zählungen zu erreichen.
- Wenn die Zählung 0 erreicht, druckt die Funktion „Ready to go!“ aus.
🎯 Um den Countdown-Vorgang zu erreichen, haben wir die verwendet
range()
Funktion mit einem negativen Schrittwert von -1.range(n, -1, -1)
hilft uns, den Zahlenbereich in n, n – 1, n – 2 usw. bis zu Null zu durchlaufen. Denken Sie daran, dass der Endpunkt bei Verwendung von standardmäßig ausgeschlossen istrange()
Funktion.
Als Nächstes fügen wir einen Anruf hinzu countDown()
Funktion mit 5 als Argument.
countDown(5)
Führen Sie nun das Skript aus countdown.py
und sehen die countDown
Funktion in Aktion!
$ python3 countdown.py
Sleep Function in Multithreading
Python einfädeln -Modul bietet sofort einsatzbereite Multithreading-Funktionen. In Python sorgt der Global Interpreter Lock oder GIL dafür, dass zu jedem Zeitpunkt nur ein aktiver Thread läuft.

Während E/A-Operationen und Warteoperationen, wie beispielsweise Schlaf, kann der Prozessor jedoch die Ausführung des aktuellen Threads aussetzen und zu einem anderen wartenden Thread wechseln.
Um zu verstehen, wie das funktioniert, nehmen wir ein Beispiel.
Erstellen und Ausführen von Threads in Python
Betrachten Sie die folgenden Funktionen, func1()
, func2()
und func3()
. Sie durchlaufen eine Reihe von Zahlen und drucken sie aus. Darauf folgt ein Sleep-Vorgang – für eine bestimmte Anzahl von Sekunden – bei jedem Durchlauf durch die Schleife. Wir haben für jede der Funktionen unterschiedliche Verzögerungszeiten verwendet, um besser zu verstehen, wie die Ausführung gleichzeitig zwischen Threads wechselt.
import time
def func1():
for i in range(5):
print(f"Running t1, print {i}.")
time.sleep(2)
def func2():
for i in range(5):
print(f"Running t2, print {i}.")
time.sleep(1)
def func3():
for i in range(4):
print(f"Running t3, print {i}.")
time.sleep(0.5)
In Python können Sie die Thread()
Konstruktor zum Instanziieren eines Thread-Objekts. Verwendung der Syntax threading.Thread(target = …, args = …)
erstellt einen Thread, der die ausführt target
Funktion mit dem in der angegebenen Argument args
Tupel.
In diesem Beispiel sind die Funktionen func1
, func2
und func3
, nehmen Sie keine Argumente an. Es genügt also, als Ziel nur den Namen der Funktion anzugeben. Dann definieren wir Thread-Objekte, t1
, t2
und t3
mit func1
, func2
und func3
als Ziele bzw.
t1 = threading.Thread(target=func1)
t2 = threading.Thread(target=func2)
t3 = threading.Thread(target=func3)
t1.start()
t2.start()
t3.start()
Hier ist der vollständige Code für das Threading-Beispiel:
# /python-sleep/threads.py
import time
import threading
def func1():
for i in range(5):
print(f"Running t1, print {i}.")
time.sleep(2)
def func2():
for i in range(5):
print(f"Running t2, print {i}.")
time.sleep(1)
def func3():
for i in range(4):
print(f"Running t3, print {i}.")
time.sleep(0.5)
t1 = threading.Thread(target=func1)
t2 = threading.Thread(target=func2)
t3 = threading.Thread(target=func3)
t1.start()
t2.start()
t3.start()
Beobachten Sie die Ausgabe. Die Ausführung wechselt zwischen den drei Threads. Der Faden t3
hat die kürzeste Wartezeit, wird also am wenigsten ausgesetzt. Faden t1
hat die längste Schlafdauer von zwei Sekunden, also ist es der letzte Thread, der die Ausführung beendet.
Um mehr zu erfahren, lesen Sie das Tutorial auf der Grundlagen des Multithreading in Python.
Fazit
In diesem Tutorial haben Sie gelernt, wie Sie Python verwenden sleep()
Funktion zum Hinzufügen von Zeitverzögerungen zum Code.
Sie können auf die sleep()
Funktion aus dem eingebauten Zeitmodul, time.sleep()
. Um die Ausführung um n Sekunden zu verzögern, verwenden Sie time.sleep(n)
. Außerdem haben Sie Beispiele für das Verzögern nachfolgender Iterationen in einer Schleife um unterschiedliche Werte, Countdown und Multithreading gesehen.
Sie können jetzt erweiterte Funktionen des Zeitmoduls erkunden. Möchten Sie mit Datums- und Uhrzeitangaben in Python arbeiten? Zusätzlich zum Zeitmodul können Sie die Funktionalität der Datetime- und Kalendermodule nutzen.
Als nächstes lernen Zeitunterschied in Python berechnen.⏰