mori– Author –
-
Python樹林
Pythonで対数関数(log)を計算する:math.log, log10, log2の使い方と使い分け
データのスケーリングや情報量の計算、物理学的な公式の実装において、対数(ロガリズム)の計算は欠かせません。 Pythonの標準ライブラリ math モジュールには、対数を計算するための関数として、汎用的な log() のほかに、底(base)があらかじめ決まっ... -
Python樹林
Pythonで指数関数を計算する:math.exp()の使い方とシグモイド関数の実装
科学技術計算や機械学習の分野では、ネイピア数 $e$(自然対数の底、約2.718)を底とする指数関数 $y = e^x$ が頻繁に登場します。 Pythonの標準ライブラリ math モジュールには、この計算を高速かつ高精度に行うための関数 math.exp() が用意されています... -
Python樹林
Pythonのmathモジュール入門:円周率(pi)やネイピア数(e)などの定数と関数の使い方
科学技術計算や幾何学的なプログラムを作成する際、円周率($\pi$)やネイピア数($e$)といった数学定数は頻繁に使用されます。 Pythonの標準ライブラリである math モジュール を使用すると、これらの定数を高精度で利用できるほか、平方根や三角関数な... -
Python樹林
Pythonで商と剰余を計算する方法:算術演算子とdivmod関数の使い分け
プログラミングにおいて、「割り算の答え(商)」と「その余り(剰余)」を求めたい場面は頻繁にあります。例えば、秒数を「何分何秒」に変換したり、アイテムを均等に配った余りを計算したりするケースです。 Pythonでは、算術演算子を使って個別に計算す... -
Python樹林
Pythonでべき乗(N乗)を計算する方法:**演算子とpow()関数の違いと使い分け
科学技術計算や幾何学的な計算(面積や体積など)において、ある数値を2乗、3乗、あるいはN乗したい場面は頻繁に訪れます。 Pythonには、べき乗を計算するための標準的な手段として、** 演算子と、組み込み関数の pow() が用意されています。これらは似た... -
未分類
Gemini利用時に「エラー発生しました(13)」と表示される原因と解決方法
「エラー発生しました(13)」の技術的な意味 GeminiなどのAIチャットサービスを利用している際に、「エラー発生しました(13)」というメッセージが表示され、応答が生成されなくなるケースがあります。 この「13」という数字は、Googleのサービス内部で通信... -
Python樹林
Pythonでの丸め処理:round()関数の使い方と「四捨五入ではない」という注意点
数値を扱うプログラムでは、小数点以下を特定の位置で丸めたり、大きな数値を概算(例:12345円 → 12000円)したりする処理が必要になります。 Pythonには組み込み関数の round() が用意されていますが、実はこの関数、私たちが学校で習う一般的な「四捨五... -
Python樹林
Pythonで数値を分析する基本関数:絶対値(abs)、合計(sum)、最大(max)、最小(min)の使い方
データ分析や数値計算を行う際、データの「大きさ」や「傾向」を知るために、絶対値や合計、最大値、最小値といった基本的な指標を求めることが頻繁にあります。 Pythonには、これらの計算を行うための便利な組み込み関数が標準で用意されています。 この... -
Python樹林
Pythonで浮動小数点数を比較する:math.isclose()の使い方と誤差への対処
コンピュータで小数を扱う場合、内部的には2進数で表現されるため、どうしても微細な「計算誤差」が発生します。そのため、浮動小数点数(float)同士を == 演算子で比較すると、人間が期待する結果にならないことがあります。 Python 3.5以降では、この問... -
Python樹林
Pythonで浮動小数点数の表示桁数を指定する:format()とf-stringの使い方
Pythonで浮動小数点数(float)を print() で表示すると、通常は見やすい長さに自動的に丸められて出力されます。しかし、科学技術計算やデバッグなどで、より多くの桁数(または特定の桁数)を表示させたい場合があります。 この記事では、format() 関数... -
Python樹林
Pythonで整数と浮動小数点数を変換する:int()とfloat()の使い方と注意点
Pythonで数値計算を行う際、整数(int)と浮動小数点数(float)の型変換(キャスト)は頻繁に使用される操作です。 例えば、整数のデータを計算のために小数にしたり、逆に小数の計算結果から小数点以下を取り除いて整数にしたりする場合です。 この記事... -
Python樹林
Pythonで数値を2進数・8進数・16進数の文字列に変換する:bin, oct, hex関数の使い方
プログラミングにおいて、10進数の数値をコンピュータが解釈しやすい2進数や、メモリダンプなどで使われる16進数の形式に変換して表示したい場面があります。 Pythonには、数値をこれらのN進数表記の文字列に変換するための便利な組み込み関数が用意されて... -
Python樹林
Pythonで2進数・8進数・16進数を扱う:数値リテラルのプレフィックスと表記法
Pythonのプログラム内で数値を扱う際、通常は10進数(0〜9)を使用しますが、用途によっては2進数、8進数、16進数で記述した方が直感的な場合があります。 例えば、ビット演算を行う場合は2進数が、ファイルパーミッションの設定には8進数が、色情報の指定... -
Python樹林
Pythonでディレクトリを階層ごと作成する:os.makedirsの使い方とexist_okオプション
ファイルを出力する際、保存先のディレクトリ(フォルダ)がまだ存在しない場合、事前に作成しておく必要があります。 Pythonの標準ライブラリ os モジュールには、ディレクトリを作成するための関数として os.mkdir() と os.makedirs() の2つが用意されて... -
Python樹林
Pythonでファイルとディレクトリを削除する方法:os.removeとshutil.rmtreeの使い分け
ファイル操作を行うプログラムでは、不要になった一時ファイルや、古いデータを格納したディレクトリを削除する処理が必要になります。 Pythonでは、削除対象が「ファイル」なのか「ディレクトリ(フォルダ)」なのかによって、使用する関数が異なります。... -
Python樹林
Pythonでファイルやディレクトリをコピーする:shutil.copyとshutil.copytreeの完全ガイド
データのバックアップを作成したり、テンプレートフォルダを複製して新しいプロジェクトを開始したりする際、ファイルやディレクトリのコピー操作は欠かせません。 Pythonの標準ライブラリである shutil モジュール(Shell Utilitiesの略)を使用すると、... -
Python樹林
Pythonでファイルやディレクトリを移動・リネームする:shutil.moveの使い方
ファイルの整理やログのローテーション、バックアップ処理などにおいて、ファイルやディレクトリを別の場所に移動させたい場面は頻繁に発生します。 Pythonでこれを行うには、標準ライブラリ shutil モジュールの move() 関数を使用するのが最も一般的で確... -
Python樹林
Pythonでファイルの拡張子を取得・判定する:os.path.splitextの挙動と使い方
ファイル操作を行うプログラムでは、「画像ファイル(.jpg, .png)だけを処理したい」「テキストファイル(.txt)以外は除外したい」といったように、ファイルの拡張子に基づいて処理を分岐させたい場面が多々あります。 Pythonの標準ライブラリ os.path ... -
Python樹林
Pythonでファイルかディレクトリかを判定する方法:os.path.isfileとos.path.isdirの使い方
ファイル操作を行うプログラムでは、指定されたパスが「ファイル」なのか、それとも「ディレクトリ(フォルダ)」なのかを区別して処理を分けたい場面が多々あります。例えば、ディレクトリの中にあるアイテム一覧を取得した後、ファイルに対してのみ読み... -
Python樹林
Pythonでディレクトリ内のファイル一覧を取得する方法:pathlib.iterdir()とos.listdir()の使い分け
ファイル操作を行うスクリプトでは、「指定したフォルダの中にある全てのファイルを処理したい」という場面が頻繁に発生します。 Pythonでディレクトリ直下のコンテンツ一覧を取得するには、主に2つの方法があります。 pathlib モジュール(推奨): Python... -
Python樹林
Pythonでファイルやディレクトリの存在を確認する:os.path.exists, isfile, isdirの使い分け
ファイル操作を行う前に、「そのファイルが本当にそこにあるか」を確認することは、エラー(FileNotFoundError)を防ぐために非常に重要です。 Pythonの標準ライブラリ os.path モジュールには、存在確認を行うための関数がいくつか用意されています。単に... -
Python樹林
Pythonで絶対パスと相対パスを取得・変換する:os.path.abspathとrelpathの使い方
ファイル操作を行うプログラムでは、ファイルの位置を特定するために「パス(Path)」を使用します。パスには、ルートディレクトリから記述する「絶対パス」と、現在の位置(カレントディレクトリ)などを基準に記述する「相対パス」の2種類があります。 P... -
Python樹林
Pythonでカレントディレクトリを取得・変更する方法:os.getcwdとos.chdirの使い方
Pythonスクリプトの中でファイルを読み書きする際、ファイルパスを相対パス(data.txt など)で指定すると、それは「カレントディレクトリ(現在の作業ディレクトリ)」を基準に探されます。 そのため、プログラムが現在どこのディレクトリで実行されてい... -
Python樹林
Pythonでパスの末尾(ファイル名)とディレクトリを分離する:os.path.splitの使い方
ファイルパスを扱うプログラムでは、「フルパスからファイル名だけを取り出したい」あるいは「ファイル名を除いた親ディレクトリのパスを取得したい」という操作が頻繁に発生します。 Pythonの標準ライブラリ os.path モジュールにある split() 関数を使用... -
Python樹林
Pythonでパスを結合する:os.path.joinの使い方と絶対パスによるリセットの仕様
ファイルやディレクトリのパスをプログラム内で扱う際、ディレクトリ名とファイル名を連結して一つのパス文字列を作成する操作は頻繁に行われます。 単純に文字列の足し算(+)や join メソッドで / を挟むことも可能ですが、OSによってパスの区切り文字が... -
Python樹林
Pythonでパス区切り文字を取得する:os.sepの使い方とクロスプラットフォーム対応
PythonスクリプトをWindowsとmacOS(またはLinux)の両方で動作させようとした際、問題になりやすいのが「ファイルパスの区切り文字(パスセパレータ)」の違いです。 Windows: バックスラッシュ \(Python文字列内では \\) macOS / Linux: スラッシュ / ... -
Python樹林
Pythonでテキストファイルに書き込む:write()とwritelines()の違いと改行の扱い
Pythonで計算結果やログデータをファイルに保存する際、組み込み関数の open() でファイルを「書き込みモード」で開き、メソッドを使ってデータを書き込みます。 書き込みメソッドには、単一の文字列を書き込む write() と、リストなどのシーケンスをまと... -
Python樹林
Pythonでテキストファイルを読み込む:read, readline, readlinesの違いと使い分け
Pythonでテキストファイルの中身を読み込む際、組み込み関数の open() を使用しますが、その後の「データの取り出し方」には主に3つのメソッドが存在します。 read(): 全体を1つの文字列として読み込む readlines(): 全体をリスト(行ごとの配列)として読... -
Python樹林
Pythonのファイル操作入門:open()関数のモード一覧とwith文による安全な読み書き
Pythonでテキストファイルやバイナリファイルを扱う場合、組み込み関数の open() を使用します。この関数は、ファイルを読み込むのか、書き込むのか、あるいは追記するのかといった「モード」を指定してファイルオブジェクトを作成します。 また、ファイル... -
Python樹林
Pythonのメモリ使用量を計測する:tracemallocモジュールの使い方とボトルネックの特定
Pythonはメモリ管理を自動で行う(ガベージコレクションを持つ)言語ですが、大規模なデータを扱う処理や長時間稼働するサーバーアプリケーションでは、メモリ使用量の肥大化が問題になることがあります。 このような場合、標準ライブラリの tracemalloc ...