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

こんにちは!エンジニア兼ライターのヤマシタです。

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

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

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

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

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

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

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

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

LINEで送る
Pocket

「プログラミング、右も左もわからない…」という方にオススメ

当プログラミングスクール「侍エンジニア塾」では、これまで6000人以上のエンジニアを輩出してきました。

その経験を通してプログラミング学習に成功する人は、「目的目標が明確でそれに合わせた学習プランがあること」「常に相談できる人がそばにいること」「自己解決能力が身につくこと」この3つが根付いている傾向を発見しました。

侍エンジニア塾は上記3つの成功ポイントを満たすようなサービス設計に磨きをかけております。

cta_under_bnr

「自分のスタイルや目的に合わせて学習を進めたいな」とお考えの方は、ぜひチェックしてみてください。

書いた人

ヤマシタ

システムエンジニアとして10年勤務→フリーランスへ。現在は侍ブログ編集部としてこれまでに200記事以上の記事を執筆。
大規模システム開発からWebアプリ開発まで経験あり。最近ではPythonの機械学習に挑戦中。