【Python自學】sleep()函數,常用於倒計時、碼表的函數

sleep() 是 Python 內建模組 time 底下的函數,主要功能是「讓程式暫停執行一段時間」。簡單說,就是讓程式先睡一下,睡醒再繼續往下跑。

📘 Python 自學|sleep() 函數

⏳ sleep() 是什麼?

sleep() 是 Python 內建模組 time 下面的函數,用來讓程式暫停執行一段時間。

函數全名是 time.sleep()

它的參數是「要暫停的時間」,單位是秒。也可以照它的名字來理解:你要讓程式睡多久?

time.sleep(2)

上面這行程式的意思,就是讓程式暫停 2 秒。

程式在 sleep 期間不會繼續往下執行。
等到設定的秒數結束後,才會繼續執行下一行。

🧪 基本用法

使用 time.sleep() 之前,要先匯入 time 模組。

import time print("開始") time.sleep(2) # 暫停 2 秒 print("兩秒後繼續")

輸出結果

開始(馬上出現)
(等待 2 秒)
兩秒後繼續

這段程式的執行順序是:

  • 先印出 開始
  • 執行 time.sleep(2),程式暫停 2 秒。
  • 2 秒後,繼續印出 兩秒後繼續

📌 常用案例

sleep() 在實務上很常見,尤其是倒數計時、Loading 效果、爬蟲間隔、測試等待時間等情境。

1. 倒數計時器

第一個常見用途,就是製作倒數計時器。

import time for i in range(5, 0, -1): print(i) time.sleep(1) print("時間到!")

程式說明

for i in range(5, 0, -1):

這行代表從 5 開始倒數到 1

其中 -1 代表每次減少 1,所以會形成倒數效果。

Python 的 range(5, 0, -1) 會產生 5、4、3、2、1,不包含結束值 0

輸出效果

5
(等待 1 秒)
4
(等待 1 秒)
3
(等待 1 秒)
2
(等待 1 秒)
1
(等待 1 秒)
時間到!

2. 做出 Loading 動畫感

sleep() 也很適合拿來做簡單的 Loading 效果,例如讓點點一個一個出現。

import time print("載入中", end="") for x in range(5): print(".", end="") time.sleep(0.5) print("\n載入完成!")

程式呈現效果

載入中.....(點點依序出現,每個點間隔 0.5 秒)
載入完成!(跑完 5 次之後出現)

這裡用到 end="",意思是印完文字後不要自動換行。

所以每次印出的 . 都會接在「載入中」後面,形成 Loading 的感覺。

time.sleep(0.5) 表示暫停 0.5 秒。
sleep() 不一定只能放整數,也可以放小數。

3. 網路爬蟲避免被 Ban

在寫網路爬蟲時,sleep() 也很常用。

因為如果程式在短時間內對網站發送太多請求,有可能會被伺服器判定為異常流量,甚至被暫時封鎖。

import time for page in range(1, 6): print(f"正在爬第 {page} 頁") time.sleep(1) # 每頁休息 1 秒

這段程式的意思是:每爬一頁,就休息 1 秒。

寫爬蟲時不只是加上 sleep() 就好,也要遵守網站規範、robots.txt 與合理的請求頻率。

4. 實驗數據、測試環境常用

sleep() 也可以用來測試等待時間,或模擬某段程式需要花費一段時間才會完成。

import time start = time.time() time.sleep(3) end = time.time() print("實際等待時間:", end - start)

程式執行結果

(等待 3 秒)
實際等待時間: 3.0000832080841064

這裡的 time.time() 會取得目前時間。

所以可以先記錄開始時間,再記錄結束時間,最後用 end - start 算出實際經過多久。

🔎 sleep() 的重點觀念

sleep() 的功能很簡單,但有幾個觀念初學時很值得記起來。

重點 說明 範例
需要先 import 因為 sleep 在 time 模組裡。 import time
單位是秒 傳入的數字代表暫停幾秒。 time.sleep(2)
可以使用小數 可以暫停半秒、0.1 秒等。 time.sleep(0.5)
會阻塞程式 sleep 期間程式不會往下執行。 等時間結束才跑下一行。

⚠️ 注意:sleep() 會真的讓程式停住

這點很重要:sleep() 不是背景倒數,而是真的讓目前這段程式暫停。

sleep() 期間,程式不會做其他事情。
如果需要「背景計時」或「一邊倒數一邊做其他事」,就不能只靠 sleep(),通常會需要使用 threading 或非同步處理。

例如一般簡單倒數計時器可以使用 sleep(),但如果你想讓程式一邊下載檔案、一邊倒數、一邊更新畫面,就需要更進階的做法。

✅ 小結

time.sleep() 是 Python 初學很常遇到、也很容易理解的時間控制函數。

  • sleep():讓程式暫停指定秒數。
  • time.sleep(2):暫停 2 秒。
  • time.sleep(0.5):暫停 0.5 秒。
  • import time:使用前要先匯入 time 模組。
  • 倒數計時器:每秒印一次數字。
  • Loading 效果:讓符號依序出現。
  • 爬蟲間隔:避免太頻繁請求網站。
簡單記法:
time.sleep(幾秒) = 讓程式睡幾秒,睡醒後再繼續執行下一行。

留言

這個網誌中的熱門文章

麻將新手必看!不知道聽什麼牌怎麼辦?超多種實戰聽牌範例,教你怎麼判斷胡牌機會

麻將教學懶人包|從規則到牌理的完整觀念整理(附實戰心得)

【新訓入伍】義務役新兵必看!入伍報到必備清單整理|2026年更新