「プログラムを一定時間だけ止めたい」
「ループの間に少し間をあけたい」
そんなときに便利なのが、Pythonのsleep()
関数です。この関数を使うと、指定した時間だけプログラムを休ませることができます。
この記事では、sleep()
関数の使い方を基本から応用まで、コード例とともにわかりやすく説明します。
sleep関数の基本的な使い方

最初にtimeモジュールを読み込む
sleep関数を使うには、まずtimeモジュールを読み込みます。
import time
基本の書き方
time.sleep(3) # 3秒間プログラムを停止
この一行で、プログラムが3秒間止まります。とても簡単ですね。
動作確認してみよう
print("開始")
time.sleep(2)
print("終了") # 2秒後に表示される
このコードを実行すると、「開始」が表示されてから2秒後に「終了」が表示されます。
時間の指定方法
秒数の単位について
sleep関数で指定する時間の単位は「秒」です。
time.sleep(1) # 1秒間停止
time.sleep(5) # 5秒間停止
time.sleep(60) # 60秒(1分)間停止
小数点も使える
0.1秒や0.5秒など、1秒より短い時間も指定できます。
time.sleep(0.5) # 0.5秒(500ミリ秒)停止
time.sleep(0.1) # 0.1秒(100ミリ秒)停止
これで、とても細かい時間調整ができます。
sleep関数の活用例

カウントダウンを作る
for i in range(3, 0, -1):
print(i)
time.sleep(1)
print("スタート!")
実行すると、「3、2、1、スタート!」と1秒間隔で表示されます。
定期的にメッセージを表示
for i in range(5):
print(f"メッセージ {i + 1}")
time.sleep(2) # 2秒間隔で表示
ローディング画面を作る
print("読み込み中", end="")
for _ in range(5):
time.sleep(0.5)
print(".", end="", flush=True)
print(" 完了!")
「読み込み中…..完了!」のような表示ができます。
Webアクセスの間隔を調整
ウェブサイトから情報を取得するとき、連続でアクセスするとサーバーに負担をかけてしまいます。sleep関数で間隔をあけることで、マナーを守ったアクセスができます。
import requests
urls = ["https://example.com/page1", "https://example.com/page2"]
for url in urls:
response = requests.get(url)
print(f"ステータス: {response.status_code}")
time.sleep(2) # 2秒間隔でアクセス
sleep関数を使うときの注意点
プログラム全体が完全に止まる
sleep関数を使うと、そのプログラム全体が指定した時間だけ完全に停止します。この間は他の処理もできません。
GUIアプリでは別の方法を使う
ウィンドウを持つアプリケーション(GUIアプリ)では、sleep関数を使うとウィンドウが固まったように見えてしまいます。
このような場合は、以下の方法を使います:
- Tkinterの場合:
after()
メソッド - 非同期処理の場合:
asyncio.sleep()
非同期処理での代替方法
import asyncio
async def main():
print("待機中...")
await asyncio.sleep(2) # 非同期での待機
print("完了!")
# 実行方法
asyncio.run(main())
実用的なテクニック

リトライ処理を作る
何かの処理が失敗したとき、少し時間をおいてから再実行する仕組みです。
import random
def unstable_function():
# 50%の確率で失敗する関数
if random.random() < 0.5:
raise Exception("処理に失敗しました")
return "成功!"
# リトライ処理
for attempt in range(3): # 最大3回まで試す
try:
result = unstable_function()
print(result)
break # 成功したらループを抜ける
except Exception as e:
print(f"試行 {attempt + 1}: {e}")
if attempt < 2: # 最後の試行でなければ待機
time.sleep(1)
時間を計測しながら実行
import time
start_time = time.time() # 開始時刻を記録
print("重い処理を開始...")
time.sleep(3) # 重い処理のシミュレーション
print("処理完了")
end_time = time.time() # 終了時刻を記録
elapsed_time = end_time - start_time
print(f"処理時間: {elapsed_time:.2f}秒")
まとめ
Pythonのtime.sleep()
関数は、指定した秒数だけプログラムを一時停止できる便利な機能です。
覚えておきたいポイント
項目 | 内容 |
---|---|
基本の使い方 | time.sleep(秒数) で一時停止 |
時間の単位 | 秒単位(小数点も可能) |
主な用途 | ループ調整、アクセス間隔、演出効果 |
注意点 | プログラム全体が停止する |
代替手段 | 非同期処理ではasyncio.sleep() を使用 |
sleep関数は、プログラムにタイミングや間を作るときに欠かせない機能です。
ループ処理やウェブアクセス、ユーザー向けの演出など、さまざまな場面で活用してみてください。
プログラミングの世界では、「待つ」ことも大切な処理の一つなのです。
コメント