大家好,希望你們正在好好學習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