Python import mathの完全ガイド:数学関数の使い方を徹底解説

Pythonで数学的な計算を行う際に欠かせないのがmathモジュールです。import mathにより、三角関数、対数、べき乗、定数など、高度な数学関数を簡単に利用できます。

本記事では、Python初心者から中級者まで理解できるよう、mathモジュールの基本的なインポート方法から実践的な使用例まで詳しく解説します。

mathモジュールとは

mathモジュールは、Pythonの標準ライブラリに含まれる数学関数を提供するモジュールです。追加インストール不要で、様々な数学計算を効率的に実行できます。

基本的なインポート方法

import math
print(math.pi)  # 3.141592653589793
Code language: CSS (css)

mathモジュールのインポート方法

1. 標準的なインポート

import math
result = math.sqrt(16)  # 4.0
Code language: PHP (php)

2. 特定の関数のみインポート

from math import sqrt, pi
result = sqrt(16)  # 4.0
Code language: PHP (php)

3. 全ての関数をインポート

from math import *
result = sqrt(16)  # 4.0(非推奨)
Code language: PHP (php)

4. エイリアスを使ったインポート

import math as m
result = m.sqrt(16)  # 4.0
Code language: PHP (php)

主要な数学定数

mathモジュールには重要な数学定数が定義されています。

import math
print(f"円周率: {math.pi}")      # 3.141592653589793
print(f"自然対数: {math.e}")     # 2.718281828459045
print(f"無限大: {math.inf}")     # inf
Code language: PHP (php)

基本的な数学関数

べき乗と平方根

import math
print(math.pow(2, 3))    # 8.0
print(math.sqrt(25))     # 5.0
print(math.cbrt(27))     # 3.0(立方根)
Code language: CSS (css)

絶対値と符号

import math
print(math.fabs(-5.5))   # 5.5
print(math.copysign(3, -1))  # -3.0
Code language: CSS (css)

切り上げ・切り下げ

import math
print(math.ceil(4.2))    # 5
print(math.floor(4.8))   # 4
print(math.trunc(4.9))   # 4
Code language: CSS (css)

三角関数

基本的な三角関数

import math
angle = math.pi / 4  # 45度
print(f"sin: {math.sin(angle):.3f}")  # 0.707
print(f"cos: {math.cos(angle):.3f}")  # 0.707
print(f"tan: {math.tan(angle):.3f}")  # 1.000
Code language: PHP (php)

逆三角関数

import math
print(math.asin(0.5))    # 0.5236(約30度)
print(math.acos(0.5))    # 1.0472(約60度)
print(math.atan(1))      # 0.7854(約45度)
Code language: CSS (css)

度数とラジアンの変換

import math
degrees = 90
radians = math.radians(degrees)  # 1.5708
back_to_degrees = math.degrees(radians)  # 90.0
Code language: PHP (php)

対数関数

自然対数と常用対数

import math
print(math.log(math.e))     # 1.0(自然対数)
print(math.log10(100))      # 2.0(常用対数)
print(math.log(8, 2))       # 3.0(底を指定)
Code language: CSS (css)

より安全な対数計算

import math
print(math.log1p(0.1))      # log(1+x)の精密計算
print(math.log2(8))         # 3.0(底2の対数)
Code language: CSS (css)

実践的な使用例

距離の計算

import math
def distance(x1, y1, x2, y2):
    return math.sqrt((x2-x1)**2 + (y2-y1)**2)

print(distance(0, 0, 3, 4))  # 5.0
Code language: PHP (php)

円の面積と周長

import math
radius = 5
area = math.pi * radius ** 2
circumference = 2 * math.pi * radius
print(f"面積: {area:.2f}, 周長: {circumference:.2f}")
Code language: JavaScript (javascript)

複利計算

import math
principal = 1000000  # 元本
rate = 0.05         # 年利5%
years = 10
amount = principal * math.exp(rate * years)
print(f"10年後: {amount:,.0f}円")
Code language: PHP (php)

特殊関数

ガンマ関数と階乗

import math
print(math.gamma(5))     # 24.0(4!と同じ)
print(math.factorial(4)) # 24
Code language: PHP (php)

誤差関数

import math
print(math.erf(1))       # 0.8427(誤差関数)
print(math.erfc(1))      # 0.1573(相補誤差関数)
Code language: CSS (css)

数値チェック関数

特殊値の判定

import math
print(math.isnan(float('nan')))  # True
print(math.isinf(math.inf))      # True
print(math.isfinite(100))        # True
Code language: PHP (php)

数値の性質チェック

import math
print(math.isclose(0.1 + 0.2, 0.3))  # True(浮動小数点誤差対応)
print(math.remainder(7, 3))           # 1.0
Code language: CSS (css)

パフォーマンスの考慮

効率的な使用方法

# 良い例:必要な関数のみインポート
from math import sqrt, pi
result = sqrt(16) + pi

# 避けるべき例:毎回math.を記述
import math
result = math.sqrt(16) + math.pi
Code language: PHP (php)

ベクトル化が必要な場合

# 大量データにはnumpyを推奨
import math
numbers = [1, 4, 9, 16]
sqrt_numbers = [math.sqrt(x) for x in numbers]
Code language: PHP (php)

よくあるエラーと対処法

ValueError への対応

import math
try:
    result = math.sqrt(-1)  # エラーが発生
except ValueError:
    print("負の数の平方根は計算できません")
Code language: PHP (php)

OverflowError への対応

import math
try:
    result = math.exp(1000)  # オーバーフロー
except OverflowError:
    print("計算結果が大きすぎます")
Code language: PHP (php)

他のライブラリとの使い分け

NumPyとの比較

import math
import numpy as np

# math: 単一値の計算に最適
single_value = math.sqrt(16)

# numpy: 配列計算に最適
array_values = np.sqrt([1, 4, 9, 16])
Code language: PHP (php)

cmathモジュール(複素数)

import cmath
result = cmath.sqrt(-1)  # 1j(虚数単位)
Code language: PHP (php)

まとめ

import mathにより、Pythonで高度な数学計算を簡単に実行できます。基本的な算術演算から三角関数、対数、特殊関数まで、幅広い数学関数が提供されています。

効率的に使用するためには、必要な関数のみをインポートし、大量データ処理にはNumPyとの使い分けを考慮することが重要です。

本記事で紹介した関数を活用して、データ分析、科学計算、エンジニアリング計算など、様々な分野でmathモジュールを効果的に利用してください。

 

■プロンプトだけでオリジナルアプリを開発・公開してみた!!

■AI時代の第一歩!「AI駆動開発コース」はじめました!

テックジム東京本校で先行開始。

■テックジム東京本校

「武田塾」のプログラミング版といえば「テックジム」。
講義動画なし、教科書なし。「進捗管理とコーチング」で効率学習。
より早く、より安く、しかも対面型のプログラミングスクールです。

<短期講習>5日で5万円の「Pythonミニキャンプ」開催中。

<月1開催>放送作家による映像ディレクター養成講座

<オンライン無料>ゼロから始めるPython爆速講座