この記事では、Pythonの標準ライブラリであるtime
モジュールを使い、プログラムの実行時間を計測したり、処理を一時的に停止させたりする基本的な方法について解説します。
time.time()
関数:エポック秒の取得
time.time()
関数は、エポックと呼ばれる基準時刻(1970年1月1日0時0分0秒 UTC)から現在までに経過した秒数を、浮動小数点数で返します。この戻り値はエポック秒
やUnixタイムスタンプ
と呼ばれます。
この関数は、特定の処理にかかる時間を計測するのに非常に役立ちます。処理の開始前と終了後でtime.time()
を呼び出し、その差分を取ることで、実行時間を算出できます。
import time
def compute_sum():
# 1から100,000までの数値を合計する関数
total = 0
for i in range(1, 100001):
total += i
return total
start_time = time.time()
result = compute_sum()
end_time = time.time()
print(f"計算結果: {result}")
print(f"計算時間: {end_time - start_time} 秒")
time.sleep()
関数:プログラムの一時停止
time.sleep()
関数は、指定した秒数だけプログラムの実行を一時停止します。引数には、停止したい秒数を整数または浮動小数点数で指定します。
import time
print("カウントダウンを開始します。")
for i in range(3, 0, -1):
print(i)
time.sleep(1) # 1秒間停止
print("スタート!")
このコードは、1秒ごとに数字を表示する簡単なカウントダウンを実現します。
数値の四捨五入:round()
関数
time.time()
が返す値は非常に桁数の多い浮動小数点数です。これを見やすく表示するために、Pythonの組み込み関数であるround()
がよく使われます。
round()
関数は、第1引数に数値を、第2引数に丸めたい小数点以下の桁数を指定します。第2引数を省略すると、最も近い整数に丸められます。
import time
current_epoch_time = time.time()
print(f"元の値: {current_epoch_time}")
# 小数点以下2桁に丸める
rounded_2 = round(current_epoch_time, 2)
print(f"小数点以下2桁: {rounded_2}")
# 小数点以下4桁に丸める
rounded_4 = round(current_epoch_time, 4)
print(f"小数点以下4桁: {rounded_4}")
# 整数に丸める
rounded_int = round(current_epoch_time)
print(f"整数: {rounded_int}")
まとめ
time
モジュールは、Pythonで時間を扱う際の基本的な機能を提供します。time.time()
は処理時間の計測に不可欠であり、time.sleep()
はプログラムの実行タイミングを制御するのに役立ちます。time.time()
で得た詳細な時間データは、round()
関数を使うことで、目的に応じて見やすい形に整形することができます。