Pythonで経過時間を計測する方法を完全解説!初心者でもわかる time.perf_counter() と time.sleep()
生徒
「Pythonでプログラムがどれくらい時間かかったかを調べる方法ってありますか?」
先生
「ありますよ。Pythonには時間を計測するための便利な仕組みが用意されています。」
生徒
「パソコンをほとんど触ったことがなくても使えますか?」
先生
「もちろんです。時計を見る感覚で考えれば大丈夫です。一緒にゆっくり見ていきましょう。」
1. Pythonで経過時間を計測するとは?
Pythonで経過時間を計測するとは、「処理の開始から終了までに、どれくらい時間がかかったか」を調べることです。 たとえば、料理で言うと、ストップウォッチで調理時間を測るイメージです。 プログラミングでは、処理が速いか遅いかを知るために、経過時間の計測がとても重要です。 Python 初心者の方でも、時間計測を知っておくと、プログラムの動きが目に見えるようになります。
2. timeモジュールとは?
Pythonには「モジュール」という便利な道具箱があります。
timeモジュールは、時間に関する機能がまとめられた道具箱です。
モジュールとは、よく使う機能をひとまとめにした部品のようなものです。
時間を計測したり、処理を一時的に止めたりするときに使います。
import time
この1行を書くことで、timeモジュールが使えるようになります。
3. time.perf_counter()で正確な経過時間を測ろう
time.perf_counter()は、Pythonで経過時間を測るときによく使われる方法です。
とても精度が高く、ストップウォッチのように正確な時間を測れます。
「perf」は「performance(性能)」の略で、細かい時間の差を測るための関数です。
import time
start = time.perf_counter()
end = time.perf_counter()
print(end - start)
これは、開始時間と終了時間を記録し、その差を表示するシンプルな例です。
4. 処理を入れて経過時間を測ってみよう
実際に何か処理を入れてみると、経過時間がわかりやすくなります。 ここでは、数字を数えるだけの簡単な処理を使います。
import time
start = time.perf_counter()
for i in range(1000000):
pass
end = time.perf_counter()
print("経過時間:", end - start)
経過時間: 0.05
このように、プログラムが動いていた時間を数字で確認できます。
5. time.sleep()で処理を止める方法
time.sleep()は、プログラムの動きを一時的に止めるための機能です。
電子レンジの「◯分待つ」ボタンのようなイメージです。
数字は「秒」を表していて、指定した秒数だけ処理が止まります。
import time
print("開始")
time.sleep(3)
print("終了")
開始
(3秒待つ)
終了
6. time.sleep()とperf_counter()を組み合わせる
time.sleep()で止めた時間も、経過時間として計測できます。 これにより、「本当に指定した秒数止まっているか」を確認できます。
import time
start = time.perf_counter()
time.sleep(2)
end = time.perf_counter()
print("経過時間:", end - start)
表示される数値は、おおよそ2秒になります。
7. 初心者がつまずきやすいポイント
初心者の方がよく混乱するのは、「秒」という単位です。 time.sleep(1)は1秒、time.sleep(0.5)は0.5秒です。 小数点を使えるので、細かい時間調整もできます。 また、time.perf_counter()は「現在時刻」ではなく「経過時間用」だと覚えておくと安心です。
8. Pythonで時間計測を学ぶメリット
Pythonで経過時間を計測できるようになると、プログラムの速さを比べたり、 待ち時間のある処理を作ったりできます。 ゲーム、業務自動化、データ処理など、さまざまな場面で役立ちます。 パソコン初心者の方でも、時計を見る感覚で理解できるのが大きな特徴です。