1. はじめに
Pythonで処理を一時停止させたいときに使える便利な関数が time.sleep()
です。
この関数を使うことで、指定した秒数だけプログラムの実行を「一時停止」することができます。
本記事では、Pythonの time.sleep() 関数の基本的な使い方から、実務でよく使われるパターン、エラー対策まで初心者にもわかりやすく解説します。
処理の間に「ちょっと待たせたい」「一時停止させてから次の処理をしたい」といったシーンで非常に役立つ関数ですので、ぜひマスターしておきましょう。
2. time.sleep() の基本的な使い方
time.sleep()とは?
time.sleep()
は、Pythonの標準ライブラリ time
モジュールに含まれる関数で、処理を指定した秒数だけ停止させることができます。
たとえば「3秒待ってから次の処理を実行する」といった制御が可能になります。
基本的な使い方
まずは、最もシンプルな使い方を見てみましょう。
import time
print("処理を開始します")
time.sleep(3) # 3秒間待機
print("3秒後に再開しました")
実行結果:
処理を開始します
(3秒間停止)
3秒後に再開しました
このように、time.sleep()
を使えば、任意の秒数だけ処理を一時停止できます。引数には「秒数(数値)」を指定します。
ミリ秒単位ではなく「秒単位」で指定
引数に渡す数値は「秒」単位です。
たとえば0.5と指定すれば、0.5秒(=500ミリ秒)だけ停止します。
print("0.5秒待ちます")
time.sleep(0.5)
print("再開しました")
実行結果:
0.5秒待ちます
(0.5秒停止)
再開しました
3. よくある使い方・応用例
ループと組み合わせて一定間隔で処理
for
ループと time.sleep()
を組み合わせることで、「一定間隔で処理を繰り返す」ことができます。
import time
for i in range(5):
print(f"{i + 1}回目の処理です")
time.sleep(1) # 1秒間隔で処理
実行結果:
1回目の処理です
(1秒待機)
2回目の処理です
(1秒待機)
...
5回目の処理です
プログレス風の表示にも応用可能
ユーザーに処理中であることを伝えるインジケーターのような表示にも使えます。
import time
print("処理中", end="")
for _ in range(5):
time.sleep(0.5)
print(".", end="")
print("\n完了!")
実行結果:
処理中.....
完了!
このように、ユーザーに「処理が止まっていない」ことを視覚的に伝える目的でも time.sleep()
は活躍します。
APIの連続アクセス制御(実務向け)
Web APIへ連続アクセスする際は、アクセス間に少し待機を挟むことが推奨されます。
短時間に何度もアクセスすると、API側からブロックされる可能性があるため、time.sleep()
を活用して制御します。
import time
for i in range(3):
print(f"APIリクエスト {i + 1}回目")
# ここでAPI通信処理を実行する
time.sleep(2) # 2秒の待機を挟む
実行結果:
APIリクエスト 1回目
(2秒待機)
APIリクエスト 2回目
(2秒待機)
APIリクエスト 3回目
4. 注意点・エラー対策
timeモジュールのインポート忘れに注意
time.sleep()
を使うには、import time
が必要です。
初心者によくあるミスとして「インポート忘れ」があります。
# エラーになる例
time.sleep(1)
エラーメッセージ例:
NameError: name 'time' is not defined
必ず冒頭で import time
を書いておきましょう。
過剰なsleepの使いすぎに注意
あまりにも多用すると、プログラム全体のレスポンスが悪くなります。
特にGUIアプリやWebアプリで使う場合は、ユーザー体験を損ねないよう注意が必要です。
5. まとめ
time.sleep()
を使えば、指定した秒数だけ処理を一時停止できる- ループやAPI制御など、実務でも幅広く活用できる
import time
を忘れずに記述しよう
実務では「バッチ処理」「一定間隔での監視処理」「APIのアクセス制御」など、多くの場面でtime.sleep()
が使われています。
今回の解説で基本をしっかり押さえておけば、応用もスムーズに進められるでしょう。
学習のコツ:まずは手を動かして実行し、実際に処理が止まる様子を体感するのがおすすめです!