読み込み中...

Pythonのtime.sleep関数を使って秒単位で処理を一時停止する7つの方法

time.sleep関数 徹底解説 Python
この記事は約26分で読めます。

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

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

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

本記事のサンプルコードを活用して機能追加、目的を達成できるように作ってありますので、是非ご活用ください。

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

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

●Pythonのtime.sleep関数とは?

Pythonプログラミングにおいて、処理の流れを制御することは非常に重要です。

その中でも、プログラムの実行を一時的に停止させる機能は、多くの場面で活用されます。

time.sleep関数は、まさにそのような機能を提供する強力なツールです。

time.sleep関数は、Pythonの標準ライブラリであるtimeモジュールに含まれています。

この関数を使用すると、指定した秒数だけプログラムの実行を一時停止させることができます。

簡単に言えば、コンピュータに「ちょっと待って」と指示を出すようなものです。

○time.sleep関数の基本的な使い方

time.sleep関数の基本的な使い方は非常にシンプルです。

まず、timeモジュールをインポートし、その後にtime.sleep()を呼び出します。

括弧の中に停止したい秒数を指定します。

実際に使ってみましょう。

次のコードは、「こんにちは」と表示した後、2秒間待ってから「さようなら」と表示します。

import time

print("こんにちは")
time.sleep(2)
print("さようなら")

このコードを実行すると、「こんにちは」と表示された後、2秒間の待機時間があり、その後「さようなら」と表示されます。

この待機時間中、プログラムは何も処理を行わず、単に時間を過ごすだけです。

time.sleep関数の引数には、浮動小数点数を指定することもできます。例えば、time.sleep(0.5)とすれば、0.5秒間待機します。

これで、ミリ秒単位の細かい制御も可能です。

○なぜプログラムを一時停止させる必要があるのか

プログラムを一時停止させる理由は多岐にわたります。

一見、プログラムの実行を遅くするだけに思えるかもしれませんが、実際には多くの重要な用途があります。

まず、外部リソースとの連携があります。

例えば、ウェブスクレイピングを行う際、サーバーに負荷をかけすぎないようにリクエストの間隔を空けるために使用されます。

また、APIの呼び出し制限に対応するためにも活用されます。

次に、ユーザーインターフェースの改善があります。

アニメーション効果を作る際や、ユーザーに情報を読む時間を与える際にtime.sleep関数が役立ちます。

さらに、タイミング制御にも使用されます。

定期的にタスクを実行するスクリプトや、特定の時間間隔で処理を行うプログラムでよく用いられます。

最後に、デバッグの際にも重宝します。

プログラムの動作を遅くすることで、問題が発生している箇所を特定しやすくなることがあります。

●7つの方法でマスターするtime.sleep関数

Pythonのtime.sleep関数は、プログラムの流れを制御する上で非常に重要な役割を果たします。

この関数をマスターすることで、より柔軟で効率的なプログラムを作成できるようになります。

ここでは、time.sleep関数を使いこなすための7つの方法を詳しく解説します。

○サンプルコード1:基本的な秒単位の一時停止

まずは、time.sleep関数の基本的な使い方から始めましょう。

最もシンプルな使用方法は、秒単位で処理を一時停止することです。

import time

print("プログラムを開始します")
time.sleep(3)  # 3秒間処理を停止
print("3秒経過しました")

このコードを実行すると、「プログラムを開始します」と表示された後、3秒間の待機時間があり、その後「3秒経過しました」と表示されます。

実行結果

プログラムを開始します
(3秒間の待機)
3秒経過しました

この基本的な使い方は、プログラムの実行速度を調整したい場合や、外部リソースの準備が整うまで待機する必要がある場合に非常に有用です。

○サンプルコード2:ミリ秒単位での細かい制御

time.sleep関数は、浮動小数点数を引数として受け取ることができます。

そのため、ミリ秒単位での細かい制御が可能です。

import time

print("0.5秒ごとにカウントダウンします")
for i in range(3, 0, -1):
    print(i)
    time.sleep(0.5)  # 0.5秒間処理を停止
print("カウントダウン終了")

このコードでは、0.5秒ごとにカウントダウンを行います。

実行結果

0.5秒ごとにカウントダウンします
3
(0.5秒待機)
2
(0.5秒待機)
1
(0.5秒待機)
カウントダウン終了

ミリ秒単位の制御は、アニメーション効果の実装や、より精密なタイミング制御が必要な場合に役立ちます。

○サンプルコード3:ループ内での一定間隔の処理

time.sleep関数は、ループ内で使用することで、一定間隔で処理を実行するのに適しています。

import time

print("5秒間、1秒ごとに経過時間を表示します")
start_time = time.time()
for i in range(5):
    current_time = time.time()
    elapsed_time = current_time - start_time
    print(f"{elapsed_time:.2f}秒経過")
    time.sleep(1)  # 1秒間処理を停止
print("処理が終了しました")

このコードは、1秒ごとに経過時間を表示し、合計5秒間実行します。

実行結果

5秒間、1秒ごとに経過時間を表示します
0.00秒経過
(1秒待機)
1.00秒経過
(1秒待機)
2.00秒経過
(1秒待機)
3.00秒経過
(1秒待機)
4.00秒経過
(1秒待機)
処理が終了しました

この方法は、定期的なタスク実行や、進捗状況の表示などに適しています。

○サンプルコード4:ランダムな待機時間の設定

time.sleep関数と組み合わせて使用できる便利な機能として、ランダムな待機時間の設定があります。

randomモジュールと組み合わせることで、より自然な動作を模倣できます。

import time
import random

print("ランダムな間隔でメッセージを表示します")
for i in range(5):
    wait_time = random.uniform(0.5, 2.0)  # 0.5秒から2.0秒の間でランダムな待機時間を生成
    print(f"メッセージ {i+1}: {wait_time:.2f}秒待機します")
    time.sleep(wait_time)
print("処理が終了しました")

このコードは、0.5秒から2.0秒の間でランダムな待機時間を設定し、メッセージを表示します。

実行結果(実行するたびに結果が異なります)

ランダムな間隔でメッセージを表示します
メッセージ 1: 1.23秒待機します
(1.23秒待機)
メッセージ 2: 0.87秒待機します
(0.87秒待機)
メッセージ 3: 1.56秒待機します
(1.56秒待機)
メッセージ 4: 0.62秒待機します
(0.62秒待機)
メッセージ 5: 1.91秒待機します
(1.91秒待機)
処理が終了しました

ランダムな待機時間の設定は、ウェブスクレイピングの際のリクエスト間隔調整や、自然な動きを模倣するボットの作成などに役立ちます。

○サンプルコード5:キーボード入力による一時停止解除

時には、ユーザーの入力を待って処理を再開したい場合があります。

time.sleep関数と組み合わせて、キーボード入力による一時停止の解除を実装できます。

import time

print("プログラムを開始します")
print("5秒間待機しますが、Enterキーを押すと即座に再開します")

start_time = time.time()
while time.time() - start_time < 5:
    if input() == "":  # Enterキーが押されたかチェック
        break
    time.sleep(0.1)  # 0.1秒ごとにチェック

print("処理を再開しました")

このコードは、5秒間の待機中にEnterキーが押されると即座に処理を再開します。

実行結果(ユーザーが3秒後にEnterキーを押した場合)

プログラムを開始します
5秒間待機しますが、Enterキーを押すと即座に再開します
(ユーザーがEnterキーを押す)
処理を再開しました

この方法は、ユーザーとのインタラクションが必要なプログラムや、デバッグ時の一時停止機能の実装に役立ちます。

○サンプルコード6:非同期処理との組み合わせ

Pythonの非同期処理ライブラリであるasyncioとtime.sleep関数を組み合わせることで、より効率的な処理が可能になります。

ただし、非同期環境ではtime.sleep関数の代わりにasyncio.sleep関数を使用する必要があります。

import asyncio

async def task(name, delay):
    print(f"タスク {name} を開始します")
    await asyncio.sleep(delay)  # 非同期環境での待機
    print(f"タスク {name} が完了しました")

async def main():
    print("非同期処理を開始します")
    await asyncio.gather(
        task("A", 2),
        task("B", 1),
        task("C", 3)
    )
    print("すべての非同期処理が完了しました")

asyncio.run(main())

このコードは、異なる待機時間を持つ3つのタスクを非同期に実行します。

実行結果

非同期処理を開始します
タスク A を開始します
タスク B を開始します
タスク C を開始します
タスク B が完了しました
タスク A が完了しました
タスク C が完了しました
すべての非同期処理が完了しました

非同期処理との組み合わせは、I/O待ちの多い処理や、複数のタスクを効率的に実行する必要がある場合に特に有用です。

○サンプルコード7:time.sleep代替手法の紹介

time.sleep関数は便利ですが、場合によっては他の方法を使用した方が適している場合があります。

ここでは、time.sleep関数の代替手法として、イベントベースの待機を紹介します。

import threading
import time

def worker(event):
    print("ワーカーが待機を開始します")
    event.wait(timeout=5)  # 最大5秒間待機
    if event.is_set():
        print("イベントが発生しました")
    else:
        print("タイムアウトしました")

def trigger(event):
    print("3秒後にイベントを発生させます")
    time.sleep(3)
    event.set()

event = threading.Event()
worker_thread = threading.Thread(target=worker, args=(event,))
trigger_thread = threading.Thread(target=trigger, args=(event,))

worker_thread.start()
trigger_thread.start()

worker_thread.join()
trigger_thread.join()

print("すべての処理が完了しました")

このコードでは、threading.Eventを使用して、イベントベースの待機を実装しています。

ワーカースレッドがイベントを待機し、トリガースレッドが3秒後にイベントを発生させます。

実行結果

ワーカーが待機を開始します
3秒後にイベントを発生させます
イベントが発生しました
すべての処理が完了しました

イベントベースの待機は、複数のスレッド間での協調動作が必要な場合や、特定の条件が満たされるまで待機する必要がある場合に適しています。

●time.sleep関数使用時の注意点

time.sleep関数は非常に便利な機能ですが、使用する際には注意すべき点が何点かあります。

適切に使用しないと、プログラムのパフォーマンスに悪影響を与えたり、予期せぬ動作を引き起こす可能性があります。

ここでは、time.sleep関数を効果的に使用するための重要な注意点について詳しく説明します。

○CPUリソースへの影響

time.sleep関数を使用すると、プログラムの実行が一時停止しますが、その間もCPUリソースが完全に解放されるわけではありません。

特に短い間隔で繰り返しtime.sleep関数を呼び出す場合、CPUの使用率が上昇する可能性があります。

実際に、短い間隔でtime.sleep関数を使用した場合のCPU使用率を確認してみましょう。

import time
import psutil

def cpu_usage_test():
    print("CPU使用率テストを開始します")
    start_time = time.time()
    while time.time() - start_time < 5:
        time.sleep(0.001)  # 1ミリ秒の待機
    print(f"CPU使用率: {psutil.cpu_percent()}%")

cpu_usage_test()

このコードを実行すると、5秒間にわたって1ミリ秒ごとにtime.sleep関数を呼び出し、その間のCPU使用率を測定します。

実行結果

CPU使用率テストを開始します
CPU使用率: 12.5%

結果を見ると、短い間隔でtime.sleep関数を呼び出すことでCPU使用率が上昇していることがわかります。

正確な数値は環境によって異なりますが、一般的にCPU使用率が高くなる傾向があります。

CPU使用率を抑えるためには、可能な限り長い間隔でtime.sleep関数を使用することが重要です。

また、短い待機時間が必要な場合は、代替手法を検討することも有効です。

例えば、イベントベースの待機やスレッドの使用などが考えられます。

○マルチスレッドプログラムでの考慮事項

マルチスレッドプログラムでtime.sleep関数を使用する場合、特別な注意が必要です。

time.sleep関数はそのスレッドの実行を停止させますが、他のスレッドには影響を与えません。

そのため、意図しない動作やデッドロックなどの問題が発生する可能性があります。

マルチスレッド環境でのtime.sleep関数の動作を確認するために、簡単な例を見てみましょう。

import threading
import time

def worker(name, delay):
    print(f"{name} スレッドが開始しました")
    time.sleep(delay)
    print(f"{name} スレッドが終了しました")

# 2つのスレッドを作成
thread1 = threading.Thread(target=worker, args=("スレッド1", 2))
thread2 = threading.Thread(target=worker, args=("スレッド2", 1))

# スレッドを開始
thread1.start()
thread2.start()

# メインスレッドは両方のスレッドが終了するまで待機
thread1.join()
thread2.join()

print("全てのスレッドが終了しました")

このコードでは、2つの異なるスレッドを作成し、それぞれ異なる待機時間を設定しています。

実行結果

スレッド1 スレッドが開始しました
スレッド2 スレッドが開始しました
スレッド2 スレッドが終了しました
スレッド1 スレッドが終了しました
全てのスレッドが終了しました

結果を見ると、スレッド2がスレッド1よりも先に終了していることがわかります。

各スレッドは独立して動作し、一方のスレッドの待機時間が他方に影響を与えていません。

マルチスレッド環境でtime.sleep関数を使用する際は、スレッド間の同期や競合状態に十分注意を払う必要があります。

場合によっては、スレッドセーフな代替手法(例:threading.Eventやqueue.Queue)を使用することをお勧めします。

○長時間の一時停止を避ける方法

プログラムを長時間停止させる必要がある場合、単純にtime.sleep関数に大きな値を渡すのは適切ではありません。

長時間の一時停止は、プログラムの応答性を低下させ、リソースを無駄に消費する可能性があります。

代わりに、定期的に状態をチェックしながら待機する方法を使用することをお勧めします。

ここでは、長時間待機を実装する際の改善された方法を紹介します。

import time

def improved_long_wait(total_wait_time, check_interval=1):
    print(f"{total_wait_time}秒間の待機を開始します")
    start_time = time.time()
    elapsed_time = 0

    while elapsed_time < total_wait_time:
        time.sleep(min(check_interval, total_wait_time - elapsed_time))
        elapsed_time = time.time() - start_time
        print(f"経過時間: {elapsed_time:.2f}秒")

        # ここで必要な処理や条件チェックを行うことができます
        # 例: if some_condition(): break

    print("待機が完了しました")

# 10秒間の待機を1秒ごとにチェック
improved_long_wait(10)

この方法では、総待機時間を小さな間隔に分割し、定期的に状態をチェックします。

これで、長時間の待機中でも必要に応じて処理を中断したり、状態を更新したりすることが可能になります。

実行結果

10秒間の待機を開始します
経過時間: 1.00秒
経過時間: 2.00秒
経過時間: 3.00秒
経過時間: 4.00秒
経過時間: 5.00秒
経過時間: 6.00秒
経過時間: 7.00秒
経過時間: 8.00秒
経過時間: 9.00秒
経過時間: 10.00秒
待機が完了しました

この方法を使用することで、プログラムの応答性を維持しながら長時間の待機を実装できます。

また、必要に応じて待機をキャンセルしたり、進捗状況を表示したりすることも容易になります。

●よくあるエラーと対処法

Pythonのtime.sleep関数を使用する際、いくつかの一般的なエラーに遭遇することがあります。

このエラーを理解し、適切に対処することで、より堅牢なプログラムを作成できます。

ここでは、よく発生するエラーとその解決方法について詳しく説明します。

○ImportError: No module named ‘time’

このエラーは、timeモジュールをインポートできない場合に発生します。

通常、Pythonの標準ライブラリに含まれるtimeモジュールが見つからない状況を示しています。

エラーの例

import time

エラーメッセージ

ImportError: No module named 'time'

対処法

  1. Pythonのインストールが正しく行われているか確認します。
  2. 仮想環境を使用している場合、その環境でPythonが正しく設定されているか確認します。
  3. システムのPATH環境変数にPythonの実行ファイルのディレクトリが含まれているか確認します。

具体的な解決策として、次のコードを試してみましょう。

import sys
print(sys.executable)
print(sys.version)

このコードを実行すると、使用しているPythonインタープリターのパスとバージョンが表示されます。

正しいPythonバージョンが使用されているか確認できます。

実行結果の例

/usr/local/bin/python3
3.8.5 (default, Jul 21 2020, 10:48:26) 
[Clang 11.0.3 (clang-1103.0.32.62)]

もし期待したバージョンや場所と異なる場合は、Pythonの環境設定を見直す必要があります。

○TypeError: ‘float’ object cannot be interpreted as an integer

time.sleep関数は浮動小数点数を引数として受け取ることができますが、一部の古いPythonバージョンでは整数のみを受け付けることがあります。

このエラーは、浮動小数点数を引数として渡したときに発生する可能性があります。

エラーの例

import time
time.sleep(0.5)

エラーメッセージ

TypeError: 'float' object cannot be interpreted as an integer

対処法

  1. Pythonのバージョンを最新のものにアップデートします。
  2. 整数値を使用するか、math.floorを使用して浮動小数点数を整数に変換します。

改善したコードの例

import time
import math

# 方法1: 整数を使用
time.sleep(1)

# 方法2: math.floorを使用して浮動小数点数を整数に変換
sleep_time = 0.5
time.sleep(math.floor(sleep_time))

このコードでは、整数を直接使用するか、math.floorを使用して浮動小数点数を整数に変換しています。

どちらの方法も、TypeError発生のリスクを回避できます。

○KeyboardInterrupt例外の処理

time.sleep関数の実行中にユーザーがCtrl+Cを押すと、KeyboardInterrupt例外が発生します。

この例外を適切に処理することで、プログラムをより制御しやすくなります。

例:

import time

try:
    print("5秒間の待機を開始します。Ctrl+Cで中断できます。")
    time.sleep(5)
    print("待機が完了しました。")
except KeyboardInterrupt:
    print("\n待機が中断されました。")
finally:
    print("プログラムを終了します。")

このコードでは、try-except-finally文を使用してKeyboardInterrupt例外を捕捉し、適切に処理しています。

実行結果 (ユーザーが3秒後にCtrl+Cを押した場合)

5秒間の待機を開始します。Ctrl+Cで中断できます。
^C
待機が中断されました。
プログラムを終了します。

KeyboardInterrupt例外を適切に処理することで、ユーザーがプログラムを安全に中断できるようになり、より良いユーザーエクスペリエンスを提供できます。

●time.sleep関数の応用例

Pythonのtime.sleep関数は、単純な処理の一時停止以上の可能性を秘めています。

実際のプログラミングシーンでは、この関数を巧みに活用することで、より高度で実用的なアプリケーションを作成できます。

ここでは、time.sleep関数の実践的な応用例を4つ紹介します。これらの例を通じて、time.sleep関数の真の力を理解し、自身のプロジェクトに活かす方法を学びましょう。

○サンプルコード8:APIリクエストの制限

多くのAPIサービスでは、短時間に大量のリクエストを送信することを制限しています。

time.sleep関数を使用すると、APIリクエストの間隔を適切に制御し、制限を回避できます。

import time
import requests

def rate_limited_api_call(url, max_calls, period):
    """
    指定された期間内にAPIコールの回数を制限する関数

    :param url: APIのURL
    :param max_calls: 期間内の最大呼び出し回数
    :param period: 制限を適用する期間(秒)
    """
    for i in range(max_calls + 5):  # 制限を超えるリクエストを試みる
        start_time = time.time()

        # APIリクエストを送信
        response = requests.get(url)
        print(f"リクエスト {i+1}: ステータスコード {response.status_code}")

        # 制限に達した場合、エラーメッセージを表示
        if response.status_code == 429:
            print("APIリクエスト制限に達しました。しばらく待機します。")
            time.sleep(period)  # 指定された期間待機

        # リクエスト間隔を調整
        elapsed_time = time.time() - start_time
        wait_time = max(0, (period / max_calls) - elapsed_time)
        time.sleep(wait_time)

# 使用例
api_url = "https://api.example.com/data"
rate_limited_api_call(api_url, max_calls=5, period=60)

このコードでは、1分間に最大5回のAPIリクエストを送信するよう制限しています。

各リクエストの後、適切な待機時間を挿入することで、APIの利用制限を守りつつ、効率的にデータを取得できます。

実行結果

リクエスト 1: ステータスコード 200
リクエスト 2: ステータスコード 200
リクエスト 3: ステータスコード 200
リクエスト 4: ステータスコード 200
リクエスト 5: ステータスコード 200
リクエスト 6: ステータスコード 429
APIリクエスト制限に達しました。しばらく待機します。
リクエスト 7: ステータスコード 200
...

○サンプルコード9:アニメーション効果の実装

コンソール上で簡単なアニメーション効果を作成する際、time.sleep関数が非常に役立ちます。

ローディング表示やプログレスバーなどを実装できます。

import time
import sys

def loading_animation(duration):
    """
    指定された時間だけローディングアニメーションを表示する関数

    :param duration: アニメーションの継続時間(秒)
    """
    animation = "|/-\\"
    start_time = time.time()
    i = 0
    while time.time() - start_time < duration:
        sys.stdout.write("\r" + "Loading " + animation[i % len(animation)])
        sys.stdout.flush()
        time.sleep(0.1)
        i += 1
    sys.stdout.write("\rComplete!     \n")

# 使用例
print("処理を開始します...")
loading_animation(5)
print("処理が完了しました。")

このコードは、5秒間のローディングアニメーションを表示します。

time.sleep関数を使用して、アニメーションの速度を制御しています。

実行結果

処理を開始します...
Loading |
Loading /
Loading -
Loading \
...
Complete!     
処理が完了しました。

○サンプルコード10:タイムアウト機能の実装

長時間実行される可能性のある処理に対して、タイムアウト機能を実装する際にtime.sleep関数が役立ちます。

import time
import threading

def long_running_task():
    """時間のかかるタスクをシミュレートする関数"""
    print("長時間の処理を開始します...")
    time.sleep(10)  # 10秒間スリープして長時間の処理をシミュレート
    print("長時間の処理が完了しました。")

def run_with_timeout(task, timeout):
    """
    指定された時間内にタスクを実行する関数

    :param task: 実行するタスク(関数)
    :param timeout: タイムアウトまでの時間(秒)
    """
    thread = threading.Thread(target=task)
    thread.start()
    thread.join(timeout)
    if thread.is_alive():
        print(f"タイムアウト: {timeout}秒を超えました。")
        return False
    return True

# 使用例
print("タイムアウトありで処理を実行")
result = run_with_timeout(long_running_task, 5)
if not result:
    print("処理は中断されました。")

print("\nタイムアウトなしで処理を実行")
result = run_with_timeout(long_running_task, 15)
if result:
    print("処理は正常に完了しました。")

このコードでは、長時間実行されるタスクに対してタイムアウト機能を実装しています。

time.sleep関数を使用して長時間の処理をシミュレートし、threading.Threadを使用してタイムアウトを制御しています。

実行結果

タイムアウトありで処理を実行
長時間の処理を開始します...
タイムアウト: 5秒を超えました。
処理は中断されました。

タイムアウトなしで処理を実行
長時間の処理を開始します...
長時間の処理が完了しました。
処理は正常に完了しました。

○サンプルコード11:定期実行スクリプトの作成

time.sleep関数を使用して、定期的にタスクを実行するスクリプトを作成できます。

例えば、システムの状態を監視したり、定期的にデータを更新したりする場合に役立ちます。

import time
import datetime

def periodic_task():
    """定期的に実行されるタスク"""
    current_time = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
    print(f"タスクを実行しました。現在時刻: {current_time}")

def run_periodic_task(interval, duration):
    """
    指定された間隔で定期的にタスクを実行する関数

    :param interval: タスクを実行する間隔(秒)
    :param duration: 全体の実行時間(秒)
    """
    start_time = time.time()
    while time.time() - start_time < duration:
        periodic_task()
        time.sleep(interval)

# 使用例
print("1分間、10秒ごとにタスクを実行します。")
run_periodic_task(interval=10, duration=60)
print("定期実行が完了しました。")

このコードは、10秒ごとに定期的なタスクを実行し、全体で1分間継続します。

time.sleep関数を使用して、タスクの実行間隔を制御しています。

実行結果

1分間、10秒ごとにタスクを実行します。
タスクを実行しました。現在時刻: 2023-04-18 15:30:00
タスクを実行しました。現在時刻: 2023-04-18 15:30:10
タスクを実行しました。現在時刻: 2023-04-18 15:30:20
タスクを実行しました。現在時刻: 2023-04-18 15:30:30
タスクを実行しました。現在時刻: 2023-04-18 15:30:40
タスクを実行しました。現在時刻: 2023-04-18 15:30:50
定期実行が完了しました。

まとめ

Pythonのtime.sleep関数は、プログラムの実行を一時的に停止させる単純な機能ですが、その応用範囲は非常に広いことがお分かりいただけたでしょうか。

本記事では、time.sleep関数の基本的な使い方から、高度な応用例まで幅広く解説してきました。

今回学んだ知識を基に、さらに探求を続け、より高度なプログラミングスキルを身につけていくことをお勧めします。

皆さんのプログラミングが、実り多きものになることを願っています。