Python初心者必見!Sleep関数の使い方を徹底解説する12のステップ

Pythonのsleep関数を使ったコードのイラストPython
この記事は約7分で読めます。

 

【サイト内のコードはご自由に個人利用・商用利用いただけます】

この記事では、プログラムの基礎知識を前提に話を進めています。

説明のためのコードや、サンプルコードもありますので、もちろん初心者でも理解できるように表現してあります。

基本的な知識があればカスタムコードを使って機能追加、目的を達成できるように作ってあります。

※この記事は、一般的にプロフェッショナルの指標とされる『実務経験10,000時間以上』を凌駕する現役のプログラマチームによって監修されています。

サイト内のコードを共有する場合は、参照元として引用して下さいますと幸いです

※Japanシーモアは、常に解説内容のわかりやすさや記事の品質に注力しております。不具合、分かりにくい説明や不適切な表現、動かないコードなど気になることがございましたら、記事の品質向上の為にお問い合わせフォームにてご共有いただけますと幸いです。
(送信された情報は、プライバシーポリシーのもと、厳正に取扱い、処分させていただきます。)

はじめに

Pythonを学ぶ初心者の方々へ、この記事はPythonの重要な関数の一つであるSleep関数の使い方を徹底的に解説します。

これから説明する内容を順を追って学び、理解し、練習することで、Sleep関数を自由自在に使いこなせるようになります。

それでは、早速、PythonとSleep関数について詳しく解説していきましょう。

●Pythonとは

Pythonは、広く利用されているプログラミング言語の一つです。

その人気の理由としては、シンプルな構文と豊富なライブラリが挙げられます。

これにより、初心者でも比較的短時間でコードを書き始めることが可能となります。

○Pythonの基本的な特徴

Pythonは読みやすさに重きを置いたデザインがされています。

そのため、初心者でも理解しやすい構文となっています。

また、Pythonは汎用性が高く、データ解析やWeb開発、AIの開発など、幅広い分野で使用されています。

●Sleep関数とは

Sleep関数はPythonのtimeモジュールに含まれる関数で、プログラムの実行を一定時間停止するために使用されます。

○Sleep関数の役割

Sleep関数の主な役割は、一定の時間だけプログラムの実行を遅延させることです。

例えば、ループ内でSleep関数を用いると、各ループの実行間に一定時間の間隔を作ることができます。

●Sleep関数の使い方

○基本的な使い方

PythonでSleep関数を使用するためには、まずtimeモジュールをインポートする必要があります。

その上で、time.sleep()の形で関数を呼び出し、引数には遅延させたい時間(秒)を指定します。

□サンプルコード1:基本的なSleep関数の使い方

import time

print("Sleep関数の実行前")
time.sleep(3)  # 3秒間プログラムを停止
print("Sleep関数の実行後")

このコードでは、まずimport timeという行でtimeモジュールをインポートしています。

次に”Sleep関数の実行前”と表示し、その後でtime.sleep(3)というコードでプログラムを3秒間停止させています。

停止後には”Sleep関数の実行後”と表示されます。

このコードを実行すると、二つのメッセージの間に3秒間の間隔ができることを確認できます。

○Sleep関数を使ったループ制御

Sleep関数はループの中で使うことで、ループの各反復の間に一定の待ち時間を作ることが可能です。

これは、例えば、大量のリクエストを短時間に送るとサーバーに負荷をかけてしまうため、それを防ぐために使用されます。

□サンプルコード2:Sleep関数を使ったループ制御の例

import time

for i in range(5):
    print(i)
    time.sleep(1)  # 1秒間プログラムを停止

このコードでは、0から4までの数字を1秒間隔で順に表示します。

for i in range(5)という行で5回のループを作り、ループの中でprint(i)で数字を表示した後に、time.sleep(1)で1秒間の待ち時間を作っています。

この例を実行すると、数字が1秒ごとに表示されることが確認できます。

○Sleep関数とエラーハンドリング

Sleep関数を使用する際には、エラーハンドリングも重要です。

Sleep関数に非数値を指定した場合、TypeErrorが発生します。

このような例外を適切に処理することで、プログラムの安定性を保つことができます。

□サンプルコード3:Sleep関数のエラーハンドリングの例

import time

try:
    time.sleep("three")  # 非数値を指定
except TypeError:
    print("Sleep関数の引数は数値でなければなりません。")

このコードでは、Sleep関数に非数値の”three”を指定しています。

このため、TypeErrorが発生しますが、それをtry-except文で捕捉してエラーメッセージを表示します。

この例を実行すると、”Sleep関数の引数は数値でなければなりません。”と表示されます。

●Sleep関数の応用例

○サンプルコード4:Sleep関数を使ったスクリプトの一時停止

import time

print("5秒間スクリプトを一時停止します。")
time.sleep(5)  # 5秒間プログラムを停止
print("スクリプトを再開しました。")

このコードでは、5秒間スクリプトの実行を一時停止しています。

time.sleep(5)により、5秒間の待ち時間が設けられます。

この例を実行すると、メッセージが表示されてから5秒後に次のメッセージが表示されます。

○サンプルコード5:Sleep関数を使った時間計測

import time

start_time = time.time()
time.sleep(2)  # 2秒間プログラムを停止
end_time = time.time()

elapsed_time = end_time - start_time
print(f"経過時間: {elapsed_time}秒")

このコードでは、Sleep関数を使って2秒間の時間を計測しています。

まず、start_time = time.time()で現在の時刻を取得し、2秒間待った後に再度時刻を取得します。

これらの時刻の差を計算することで、実際に経過した時間を得ることができます。

この例を実行すると、”経過時間: 2.0秒”(処理時間により若干の誤差あり)と表示されます。

●Sleep関数の注意点と対処法

PythonのSleep関数を使用する際の注意点は、主に二つあります。

一つ目は、Sleep関数が引数として受け取るのは秒単位の数値であるということ。

つまり、1.5を指定すれば1.5秒、60を指定すれば60秒(=1分)というようになります。

二つ目の注意点は、Sleep関数はプログラム全体を停止するということです。

これは、同時に複数の処理を行いたいときには注意が必要です。

例えば、ユーザー入力を待ちつつ、定期的に時間を表示するようなプログラムでは、Sleep関数を使用するとユーザー入力を妨げてしまいます。

このような場合、マルチスレッドや非同期処理といった技術を用いることが必要です。

●Sleep関数のカスタマイズ方法

Sleep関数自体のカスタマイズは原則的には不可能ですが、その周辺の機能を工夫することで、プログラムに適した形でSleep関数を利用することができます。

例えば、一定時間ごとに特定の処理を行う関数を定義することができます。

○サンプルコード6:Sleep関数のカスタマイズの例

import time

def do_something_every_interval(interval, action, iterations):
    for _ in range(iterations):
        action()
        time.sleep(interval)

do_something_every_interval(1, lambda: print("Hello, world!"), 5)

このコードでは、一定時間ごとに特定の処理を行う関数do_something_every_intervalを定義しています。

この関数は、引数として「間隔」「行う処理」「繰り返し回数」を受け取り、指定した回数だけ指定した処理を指定した間隔で行います。

この例を実行すると、”Hello, world!”が1秒間隔で5回表示されます。

まとめ

この記事ではPythonのSleep関数の使い方を徹底的に解説しました。

基本的な使い方から応用例、注意点、そしてカスタマイズの方法まで、一通りの知識を身につけることができたでしょう。

これからPythonを使ったプログラミングにおいて、Sleep関数を活用することでより高度なコードを書くことが可能となるでしょう。

次に進む前に、本記事の内容をしっかりと理解し、自身で練習してみてください。