Pythonの数学演算を極める!標準ライブラリ「math」徹底解説

投稿者: | 2026-01-21

Pythonには、数値計算を強力にサポートする様々なライブラリがありますが、その中でも最も基本的で、かつ非常に重要なのが標準ライブラリのmathです。今回は、このmathライブラリの魅力と使い方について、詳しくご紹介していきますね。数学的な計算が必要な場面で、きっと皆さんの強い味方になってくれるはずです。

概要

mathライブラリは、Pythonに組み込まれている数学関数を提供する標準モジュールです。三角関数、指数・対数関数、平方根、定数など、プログラミングで頻繁に利用する基本的な数学的機能を網羅しています。Pythonをインストールすればすぐに利用できるため、追加のパッケージインストールは不要です。科学技術計算、データ分析、ゲーム開発、金融アプリケーションなど、数値処理が求められるあらゆる分野でその真価を発揮します。

メリット

mathライブラリを利用するメリットは多岐にわたります。

  1. 高精度な数学関数: Python標準の算術演算子だけでは難しい、より専門的で高精度な数学関数(sin, cos, logなど)を簡単に利用できます。
  2. 導入の容易さ: Pythonに標準で搭載されているため、import mathと記述するだけで即座に使用可能です。環境構築の手間がかかりません。
  3. 広範な機能: 三角関数、指数・対数関数、特殊関数、定数(円周率π、自然対数の底eなど)といった、様々な数学的ニーズに対応できる豊富な機能を提供します。
  4. コードの可読性向上: 複雑な数学的計算を簡潔かつ明確に記述できるため、コードの可読性とメンテナンス性が向上します。
  5. 信頼性: 標準ライブラリとして長年使われているため、その安定性と信頼性は非常に高く、安心して利用できます。

サンプルコード

それでは、実際にmathライブラリを使ったサンプルコードを見ていきましょう。

import math

# --- 定数の利用 ---
print(f"円周率π: {math.pi}")
print(f"自然対数の底e: {math.e}")

# --- 三角関数 ---
# 角度をラジアンに変換
angle_degrees = 45
angle_radians = math.radians(angle_degrees)
print(f"{angle_degrees}度のサイン: {math.sin(angle_radians)}")
print(f"{angle_degrees}度のコサイン: {math.cos(angle_radians)}")

# ラジアンを角度に変換
print(f"{angle_radians}ラジアンは{math.degrees(angle_radians)}度です。")

# --- 指数・対数関数 ---
print(f"eの2乗: {math.exp(2)}")
print(f"10の自然対数: {math.log(10)}") # 自然対数 (底e)
print(f"100の常用対数: {math.log10(100)}") # 常用対数 (底10)
print(f"8を底とする64の対数: {math.log(64, 8)}") # 任意の底を指定

# --- その他 ---
print(f"25の平方根: {math.sqrt(25)}")
print(f"5.7の切り上げ: {math.ceil(5.7)}")
print(f"5.7の切り捨て: {math.floor(5.7)}")
print(f"5の階乗: {math.factorial(5)}")
print(f"無限大: {math.inf}")
print(f"非数(Not a Number): {math.nan}")

実行結果:

円周率π: 3.141592653589793
自然対数の底e: 2.718281828459045
45度のサイン: 0.7071067811865476
45度のコサイン: 0.7071067811865476
0.7853981633974483ラジアンは45.0度です。
eの2乗: 7.38905609893065
10の自然対数: 2.302585092994046
100の常用対数: 2.0
8を底とする64の対数: 2.0
25の平方根: 5.0
5.7の切り上げ: 6
5.7の切り捨て: 5
5の階乗: 120
無限大: inf
非数(Not a Number): nan

mathライブラリを使うことで、これだけの計算が手軽にできるようになりますね!特に三角関数や対数関数は、複雑な計算をするときにとても役立ちます。

みーちゃんのワンポイント

mathライブラリの関数は、基本的に浮動小数点数(float型)を扱います。また、三角関数の引数は度数法ではなく、ラジアンで指定する必要がある点に注意してくださいね。math.radians()math.degrees()を使えば、度数とラジアンの変換も簡単にできますよ!