【Python入門】よく使うmath-数学関数の使い方まとめ

Pythonには、複雑な演算をするために便利なmathモジュールが用意されています。

「対数を求めたい」
「平方根を求めたい」
「絶対値を求めたい」

など、複雑な計算をするときは数学の知識が必要になりますが、mathモジュールで用意されている関数を使用すれば、数学の知識が無くても値を求めることができます。

ここでは、そんなmathモジュールについて、

【基礎】mathモジュールとは
【実践】よく使うmathモジュールの数学関数

について解説いたします。

ここで紹介している数学関数は実際によく使われている関数を中心に紹介していきます!

本記事を読む前に、Pythonがどんなプログラミング言語なのかをおさらいしておきたい人は次の記事を参考にしてください。

→ Pythonとは?特徴やできること、活用例をわかりやすく簡単に解説

なお、その他のPythonの記事についてはこちらにまとめています。

目次

mathモジュールとは

mathモジュールはPythonで標準で用意されている数学計算用の関数を集めたモジュールです。

たとえば、対数や三角関数・浮動小数点数・平方根・絶対値などの複雑な計算を行うために使用します。

mathモジュールを使用するためには以下のように宣言します。

import math

次項よりよく使うmathモジュールの数学関数を紹介します。

よく使う数学関数

log関数

log関数は自然対数を求めるときに使用する関数です。

log関数の書き方:

math.log(x, y)

引数を1つ指定した場合はxの自然対数を返します。

引数を2つ指定した場合は、yを底としたxの対数を返します。

log関数の使い方:

import math

x = 10
y = 5

print(math.log(x))
print(math.log(x, y))

実行結果:

2.302585092994046
1.4306765580733933

floor関数

floor関数は引数に指定した浮動小数点数の最大の整数を返します。

floor関数の書き方:

math.floor(x)

floor関数の使い方:

import math

x = 5.1234

print(math.floor((x)))

実行結果:

5

ceil関数

ceil関数は引数に指定した浮動小数点数以上で最小の整数を返します。

ceil関数の書き方:

math.ceil(x)

ceil関数の使い方:

import math

x = 5.1234

print(math.ceil((x)))

実行結果:

6

sqrt関数

sqrt関数は引数に指定した値の平方根を返します。

sqrt関数の書き方:

math.sqrt(x)

aqrt関数の使い方:

import math

x = 15

print(math.sqrt((x)))

実行結果:

3.872983346207417

fabs関数

fabs関数は引数に指定した値の絶対値を返します。

fabs関数の書き方:

math.fabs(x)

fabs関数の使い方:

import math

x1 = 0.0
x2 = 0.1
x3 = 3.0
x4 = 1.2

print(math.fabs((x1)))
print(math.fabs((x2)))
print(math.fabs((x3)))
print(math.fabs((x4)))

実行結果:

0.0
0.1
3.0
1.2

trunc関数

trunc関数は指定した引数の小数点以下を切り捨てた値を返します。

trunc関数の書き方:

math.trunc(x)

trunc関数の使い方:

import math

x = 3.2345

print(math.trunc((x)))

実行結果:

3

exp関数

exp関数はeのx乗の値を返します。

exp関数の書き方:

math.exp(x)

exp関数の使い方:

import math

x = 5

print(math.exp((x)))

実行結果:

148.4131591025766

まとめ

ここでは、mathモジュールについて、

  • mathモジュールとは
  • よく使うmathモジュールの数学関数

などについて解説しました。

mathモジュールは数学用の便利な関数が一通り揃っているので、使い方についてはよく理解しておきましょう。

この記事を書いた人

侍エンジニア塾は「人生を変えるプログラミング学習」をコンセンプトに、過去多くのフリーランスエンジニアを輩出したプログラミングスクールです。侍テック編集部では技術系コンテンツを中心に有用な情報を発信していきます。

目次