Python 時間睡眠()

大家好,希望你們正在好好學習Python。在這個教程中,我們將學習Python的time sleep()方法。Python的sleep函數屬於python time模塊,這已經在之前討論過了

Python time sleep

Python的time sleep函數用於在程序執行中添加延遲。我們可以使用Python的sleep函數來暫停程序執行一段指定的時間(以秒為單位)。請注意,Python的time sleep函數實際上只停止當前線程的執行,而不是整個程序。

Python time sleep()函數語法

Python的sleep()是Python time模塊的一個方法。因此,首先我們需要導入time模塊,然後才能使用這個方法。使用Python sleep()函數的方式是:這裡的sleep()方法的參數t是以秒為單位的。也就是說,當執行語句time.sleep(t)時,下一行代碼將在t秒後執行。請看下面的例子:

# 導入time模塊
import time

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

如果您运行上面的代码,您将看到第二个打印在5秒后执行。因此,您可以根据需要在您的代码中进行延迟。参数可以是浮点值,以获得更精确的延迟。例如,您想延迟100毫秒,即0.1秒,如下所示:

import time
time.sleep(0.100)

Python休眠示例

让我们看一下下面的Python时间休眠函数示例。

import time
startTime = time.time()
for i in range(0,5):
   print(i)
   # 延迟1秒钟
   time.sleep(1)
endTime = time.time()
elapsedTime = endTime - startTime
print("Elapsed Time = %s" % elapsedTime)

这将输出:

0
1
2
3
4
Elapsed Time = 5.059988975524902

经过的时间大于5,因为在for循环中,每次执行都会暂停1秒钟。额外的时间是由于程序的执行时间、操作系统线程调度等。

Python sleep()的不同延迟时间

有时您可能需要延迟不同秒数的时间。您可以按以下方式执行:

import time

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

这将输出:

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

使用sleep()进行戏剧性打印

您可能需要以戲劇性的方式打印一些訊息,您可以按照以下方式進行:

# 導入 time 模組
import time
message = "Hi!!! I am trying to create suspense"

for i in message:
   # 打印訊息的每個字符
   print(i)
   time.sleep(0.3)

如果您運行上述代碼,您會看到在打印每個字符後,它會花一些時間,這看起來像是戲劇性的。

Python 线程休眠

Python 的 time.sleep() 函數對於多線程是非常重要的方法。下面是一個簡單的例子,展示了Python 的 time.sleep() 函數僅在多線程編程中停止當前線程的執行。

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

下面的圖片顯示了上述 Python 线程休眠例子的輸出。 從輸出中很清楚地看出,只有線程被停止執行,而不是整個程式被 Python 的 time.sleep() 函數停止。這就是關於 Python 的 time.sleep() 函數或 Python 的 sleep 函數的全部內容。參考資料:StackOverFlow 文章API 文件

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