-
Pythonでコードの実行時間を計測する方法を解説
Pythonでプログラムの実行時間を測定したい場合、timeモジュールの関数を利用できます。また、より正確なベンチマークを行いたい場合には、Python公式ドキュメントでも推奨されているtimeitモジュールを使用するのが良いでしょう。 timeモジュールを使った基本的な計測方法 処理の開始前と終了後に時刻を取得し、その差分から経過時間を算出するのが基本的な方法です。 例 import time t0 = time.clock() print(Hello) t1 = time.clock() - t0 print(Time elapsed: , t1 - t0) # 経過したCPU秒数(
-
Pythonの文字列フォーマット徹底比較:%演算子とformat()メソッドの違い
%演算子の落とし穴:変数とタプルの扱いPythonの%演算子(printf形式のフォーマット)は、変数単体でもタプルでも受け取ることができます。その分、意図した動作をさせるためには、非常に明示的な書き方が求められます。コード例たとえば、次のようにタプルをそのまま渡してみます。my_tuple = (1, 2, 3) My tuple: %s % my_tuple多くの人は、このコードから次のような出力を期待するでしょう。My tuple: (1, 2, 3)実際の出力結果しかし、実際に実行すると TypeError が発生します。これは、Pythonがタプルの中身を複数のフォーマット引数として
-
【Python入門】プログラムの実行時間(経過時間)を測定する方法
プログラムの実行中に経過した時間を測定するには、timeモジュールの関数を利用します。かつてはtime.clock()やtime.time()がよく使われていましたが、clock()はPython 3.8以降で非推奨となり削除されているため、現在は高精度なtime.perf_counter()の使用が推奨されています。 perf_counter() を使った経過時間の測定 まずは基本となるシンプルな計測方法を見てみましょう。 import time t0 = time.perf_counter() print(Hello) t1 = time.perf_counter() - t0 pr
-
【Python入門】タイムスタンプを日時オブジェクトに変換する方法をわかりやすく解説
Pythonでは、標準ライブラリの datetime モジュールに含まれる fromtimestamp() 関数を使うことで、UNIXタイムスタンプ(エポック秒)から日時オブジェクトへ簡単に変換できます。この関数はタイムスタンプを引数として受け取り、それに対応する datetime オブジェクトを返します。 基本の使い方:fromtimestamp() 以下の例では、UNIXタイムスタンプ「1500000000」を日時オブジェクトに変換し、読みやすい形式の文字列として出力しています。 import datetime timestamp = datetime.datetime.fromtime
-
Pythonで日時をUTCタイムスタンプに変換する方法を徹底解説
Pythonでは、datetimeモジュールを使うことで、日時(datetime)をUTCタイムスタンプへ簡単に変換できます。すでにdatetimeオブジェクトがUTCとして作成されている場合は、timestamp()メソッドを呼び出すだけでUTCタイムスタンプを取得できます。このメソッドは、エポック(1970年1月1日00:00:00 UTC)からの経過秒数を返します。 一方、datetimeオブジェクトがローカルタイムゾーンで作成されている場合は、まずreplace()メソッドでタイムゾーン情報をUTCに置き換えてから、タイムスタンプを取得する必要があります。 例:timezone.utc
-
Pythonのdatetimeをstrftimeでエポック秒に変換する方法
Pythonでdatetimeオブジェクトをエポック(Unix時間)に変換したい場合、strftime関数に「エポックからの経過秒数」として日付を整形するための書式指定子 %s を含むフォーマット文字列を渡します。コード例import datetimetimestamp = datetime.datetime(2017, 12, 1, 0, 0).strftime(%s)print(timestamp)実行結果上記のコードを実行すると、次のような出力が得られます。1512086400ただし、%s はプラットフォーム(OSやCライブラリ)によって挙動が異なる非公式な指定子である点に注意してくださ
-
Pythonでcalendar.timegm()とtime.mktime()の違いを比較する方法
Pythonの日付・時刻関連の関数やモジュールは、特に明示されていない限り、すべてローカルタイムゾーン(現地時間)を前提として動作します。この前提が、time.mktime()とcalendar.timegm()の挙動の違いを生み出しています。両者の違いは以下の通りです。time.mktime(): 引数に渡された時刻タプルをローカルタイムとして解釈します。calendar.timegm(): 引数に渡された時刻タプルをGMT/UTC(協定世界時)として解釈します。同じタプルでも、タイムゾーンの解釈が異なるため、それぞれ別の時刻を表すことになります。そして、エポック(1970年1月1日0時0分
-
PythonでDateTime文字列をミリ秒単位の整数に変換する方法を徹底解説
Pythonでは、timeモジュールを使うことで、現在時刻をミリ秒単位の整数として簡単に取得できます。基本的な考え方は、まず time.time() 関数で秒単位の時刻(浮動小数点数)を取得し、それに1000を掛けて四捨五入することでミリ秒に変換するというものです。現在時刻をミリ秒で取得する方法以下のサンプルコードでは、現在のUNIXタイムスタンプをミリ秒単位の整数として取得しています。import time milliseconds = int(round(time.time() * 1000)) print(milliseconds)実行結果このコードを実行すると、次のような出力が得られま
-
PythonでISO 8601形式の日付文字列を取得する方法【isoformat関数の使い方】
PythonでISO 8601形式の日付文字列を取得するISO 8601は、日付と時刻を国際的に標準化された形式で表現するための規格です(例:2024-01-31T15:30:00)。Python 3では、datetimeモジュールのisoformat()メソッドを使うことで、この形式の文字列を簡単に取得できます。たとえば、2017年12月31日の日付オブジェクトに対してisoformat()を呼び出すと、2017-12-31T00:00:00という文字列が返されます。コード例:isoformat()の基本的な使い方from datetime import datetime my_date
-
マシンごとにPythonのタイムスタンプが異なるのはなぜ?原因と仕組みを解説
タイムスタンプとは、時刻軸上のある一点とエポック(1970年1月1日00:00:00 UTC)との間のオフセット値であり、本来タイムゾーンとは無関係なものです。しかし、%Y-%m-%d %H:%M:%S のようにタイムゾーン情報を含まない人間が読める形式の文字列へ変換する場合、Pythonは自動的にローカルタイムゾーンの設定を使用しようとします。 datetime.timestamp() の内部動作 タイムゾーン情報を持たない naive な datetime オブジェクトに対して datetime.timestamp() を呼び出すと、内部ではC言語の mktime() 関数が呼び出されます
-
Pythonで日時をミリ秒単位のUNIXタイムスタンプに変換する方法
UNIXタイムスタンプは、1970年1月1日00:00:00 UTCからの経過時間を表す数値で、システム間での時刻データのやり取りによく使われます。Pythonでは、timeモジュールを使って現在時刻をミリ秒単位で簡単に取得できます。time.time()関数は、現在時刻を秒単位の浮動小数点数(float)として返します。これをミリ秒に変換するには、1000倍してから整数に丸めます。現在時刻をミリ秒のタイムスタンプとして取得するimport time milliseconds = int(round(time.time() * 1000)) print(milliseconds)実行結果151
-
Pythonで秒数を「時:分:秒」形式に変換する方法
関数が秒単位の情報を返す場合でも、実際には「時:分:秒」形式で表示したいというケースはよくあります。そんなときに便利なのが divmod() 関数です。この関数は1回の除算で商と余りの両方を同時に求めることができるため、わずか2回の数学的操作だけで素早く結果を得られます。divmod()を使った変換例seconds = 56741 m, s = divmod(seconds, 60) h, m = divmod(m, 60) print(%d:%02d:%02d % (h, m, s))出力結果上記のコードを実行すると、次のような出力が得られます。15:45:41%02d は分と秒を必ず2桁で
-
Pythonで関数ごとの実行時間を計測するには?timeモジュールとtimeitの使い方
Pythonでプログラム全体や特定の関数の実行時間を測定したい場合、標準ライブラリのtimeモジュールが便利です。従来はtime.clock()やtime.time()が使われてきましたが、現在ではより高精度なtime.perf_counter()の使用が推奨されています。これらの関数を計測したい処理の前後に配置することで、その部分にかかった時間を簡単に取得できます。 基本的な計測方法 以下は、処理の開始時刻と終了時刻の差分から経過時間を求めるシンプルな例です。 import time t0 = time.perf_counter() print(Hello) t1 = time.perf_
-
Pythonで日付と時刻の計算を行う方法【timedeltaの使い方を解説】
Pythonでは、timedeltaオブジェクトを使うことで、日付や時刻の計算を非常に簡単に行えます。日時に時間を加算・減算したい場合は、まずdatetime.datetime()オブジェクトを作成し、そこにdatetime.timedelta()のインスタンスを足したり引いたりするだけです。timedeltaオブジェクトは「期間(duration)」、つまり2つの日付や時刻の差分を表します。timedeltaコンストラクタの関数シグネチャは以下のとおりです。datetime.timedelta([days[, seconds[, microseconds[, milliseconds[, m
-
Pythonで日付・時刻の算術演算を行う方法|timedeltaオブジェクトの使い方を解説
Pythonでは、timedeltaオブジェクトを使うことで、日付や時刻の計算を非常に簡単に行えます。ある日時に時間を加算・減算したい場合は、まずdatetime.datetime()オブジェクトを作成し、そこにdatetime.timedelta()インスタンスを足したり引いたりします。timedeltaオブジェクトは「期間(duration)」、すなわち2つの日付や時刻の間の差を表すオブジェクトです。 timedeltaコンストラクタの書式 timedeltaコンストラクタの関数シグネチャは以下のとおりです。 datetime.timedelta([days[, seconds[, mic
-
Pythonで現在の時刻にオフセットを加算・減算する方法
日付や時刻に対して値を加算・減算する(オフセットを適用する)場合には、datetime.datetime() オブジェクトを使用し、そこに datetime.timedelta() のインスタンスを足したり引いたりします。timedelta オブジェクトは「期間(duration)」、つまり2つの日付や時刻の差分を表すオブジェクトです。timedelta コンストラクタの関数シグネチャは以下のとおりです。datetime.timedelta([days[, seconds[, microseconds[, milliseconds[, minutes[, hours[, weeks]]]]]]
-
PythonでコンピューターのUTCオフセットを取得する方法を解説
コンピューターのUTCオフセットとは、そのコンピューターに設定されているタイムゾーンのことです。Pythonでは、標準ライブラリのtimeモジュールを使うことで、このタイムゾーン情報を簡単に取得できます。time.timezoneは、UTCオフセットを秒単位で返します。timeモジュールを使った方法最もシンプルな方法は、time.timezoneの値を利用することです。なお、この値は西側のタイムゾーンで正、東側のタイムゾーンで負となるため、通常は符号を反転させて使います。import time print(-time.timezone) # インドのタイムゾーン: +5:30出力実行すると、
-
Pythonでローカルタイムゾーン(UTCオフセット)を取得する方法
コンピュータのUTCオフセットとは、そのコンピュータに設定されているタイムゾーンのことです。Pythonでは、標準ライブラリのtimeモジュールを使うことで、このタイムゾーン情報を簡単に取得できます。time.timezoneは、UTCからのオフセットを秒単位で返します。 timeモジュールを使う方法 import time print(-time.timezone) # インドのタイムゾーン: +5:30 の場合 出力 19800 time.timezoneは西回りのオフセットを正の値として返すため、通常は先頭にマイナスを付けて使用します。上記の例では、インド標準時(UTC+5:30)に相
-
Pythonで日時をローカルタイムゾーンで表示する方法
Pythonでタイムゾーンを扱う最も簡単な方法は、pytzとtzlocalというモジュールを使用することです。これらのライブラリを使うことで、正確かつクロスプラットフォーム対応のタイムゾーン計算が可能になります。pytzはOlsonタイムゾーンデータベース(tz database)をPythonに取り込むライブラリです。さらに、夏時間(デイライト・セービング・タイム)終了時に発生しがちな「あいまいな時刻」の問題も解決してくれます。この詳細については、Pythonライブラリリファレンス(datetime.tzinfo)を参照してください。ライブラリのインストール使用する前に、以下のコマンドでpy
-
Pythonのtime.tzset()メソッドとは?タイムゾーン設定のリセット方法をわかりやすく解説
time.tzset()メソッドは、ライブラリルーチンが使用する時刻変換ルールをリセットするための関数です。どのように再設定するかは、環境変数TZの内容に基づいて決定されます。 このメソッドを実行すると、以下の変数もあわせて更新されます。 tzname:環境変数TZから取得したタイムゾーン名 timezone:UTCより西側へのオフセット秒数(夏時間を除く) altzone:UTCより西側へのオフセット秒数(夏時間適用時) daylight:そのタイムゾーンに夏時間(DST)の規則が存在しない場合は0、過去・現在・未来のいずれかに夏時間が適用される期間がある場合は0以外の値 利用可能な環境