Python

【Python】よく使う数学関数

この記事では、Python でよく使われる数学関数を紹介します。

Python の数値型については以下の記事を参照してください。

【Python】数値を扱うデータ型この記事では、Python で数値を扱うデータ型の種類と演算方法を解説します。Python には、整数を扱うための int型、浮動小数点数を扱うための float型、 複素数を扱うための complex型 などが用意されています。それでは、Python の数値型について見ていきましょう!...

組み込み関数

Python の数値型によく使われる組み込み関数を紹介します。

絶対値

abs()関数 を使うことで絶対値を取得できます。

絶対値 = abs(x)

x引数 に数値型を指定することで指定した値の絶対値を受け取ることができます。

num = -2.5
abs_num = abs(num)

print(abs_num)

実行結果

2.5

切り捨て商と剰余

divmod()関数 は、切り捨て商と剰余をまとめて取得できます。

(a // b, a % b) = divmod(a, b)

xy引数 を指定することで切り捨て商と剰余をタプルとして返します。

r = divmod(5, 2)

print(r)

実行結果

(2, 1)

最大値・最小値

max()関数 は最大値、min()関数 は最小値を返します。

最大値 = max(値1, 値2, ..., 値N)

最小値 = min([要素1, 要素2, ..., 要素N])

引数に複数の値やリストなどのコンテナオブジェクトを指定することで、その要素の中の最大値・最小値の値を受け取ることができます。

max_value = max(8, 1, 9, 2)
print(f'max: {max_value}')

min_value = min([8, 1, 9, 2])
print(f'min: {min_value}')

実行結果

max: 9
min: 1

べき乗

pow()関数 を使うことでべき乗を計算できます。

base**exp = pow(base, exp)

base引数 の exp引数乗 が返されます。

print(pow(2, 3))

print(pow(2, -2))

実行結果

8
0.25

小数を丸める

round()関数 を使うことで小数を丸めることができます。

round(number)

number引数 の小数を距離が近い方に丸めます。0.5のように距離が等しい場合、偶数になるように丸められます。

round(number, ndigits)

ndigits引数 を指定することで丸める小数の桁数を指定できます。

print('距離が同じ場合')
print(0.5, round(0.5))
print(1.5, round(1.5))

print('桁数の指定')
PI = 3.1415
print(PI, round(PI))
print(PI, round(PI, 1))
print(PI, round(PI, 2))
print(PI, round(PI, 3))

実行結果

距離が同じ場合
0.5 0
1.5 2
桁数の指定
3.1415 3
3.1415 3.1
3.1415 3.14
3.1415 3.142
【Python】小数点の切り上げ・切り捨て・四捨五入 この記事では、Pythonで小数点を切り上げ、切り捨て、四捨五入する方法を解説します。 切り上げ 小数点を切り上げる...

mathモジュール

mathモジュールは、C標準で定義された数学関数を使うことができます。複素数を扱う場合は、cmathモジュール を使いましょう。

import math

階乗

階乗を取得するには factorial()関数 を使います。

math.factorial(x)

x引数 の階乗を整数で返します。 x引数 が整数でない、または 負の数の場合は ValueError が発生します。

Python 3.9 では、整数値を持つ float型 を指定することは非推奨になった
import math

print(math.factorial(1))
print(math.factorial(2))
print(math.factorial(3))
print(math.factorial(4))

実行結果

1
2
6
24

指数関数と対数関数

指数関数

math.exp(x)

ネイピア数(2.718281...)の x乗 を返します。

import math

print(math.exp(1))
print(math.exp(2))
print(math.exp(3))
print(math.exp(4))

実行結果

2.718281828459045
7.38905609893065
20.085536923187668
54.598150033144236

対数関数

math.log(x)

x引数 のネイピア数を底とする自然対数を返します。

math.log(x, base)

base引数を指定した場合、base引数 を底とした x引数 の対数を返します。

import math

print(math.log(2))
print(math.log(3))
print(math.log(4))
print(math.log(5))

print(math.log(2, 2))
print(math.log(3, 2))
print(math.log(4, 2))
print(math.log(5, 2))

実行結果

0.6931471805599453
1.0986122886681098
1.3862943611198906
1.6094379124341003

1.0
1.5849625007211563
2.0
2.321928094887362

平方根

平方根を取得するには sqrt()関数 を使います。

math.sqrt(x)

x引数 の平方根を返します。

import math

print(math.sqrt(1))
print(math.sqrt(2))
print(math.sqrt(3))
print(math.sqrt(4))

実行結果

1.0
1.4142135623730951
1.7320508075688772
2.0

三角関数

三角関数を計算するには次の関数を使用します。

sin(x) サイン
cos(x) コサイン
tan(x) タンジェント

x引数 には ラジアンを指定します。

import math

# 30度をラジアンに変換
r = math.radians(30)

# sin 30°
sin = math.sin(r)

print(sin)

実行結果

0.49999999999999994

三角関数の逆計算をするアーク系三角関数も用意されています。普通の三角関数は 角度から辺の長さの割合を求めるが、アーク系三角関数では辺の長さの割合から角度を求める。

asin(x) アークサイン
acos(x) アークコサイン
atan(x) アークタンジェント

x引数 には 辺の長さの割合を指定する。

import math

# 30度をラジアンに変換
r = math.radians(30)

# sin 30°
sin = math.sin(r)

# 辺の長さから角度を求める
asin = math.asin(sin)

# ラジアンから度に変換
d = math.degrees(asin)

print(d)

実行結果

29.999999999999996

若干誤差が生じる可能性があるので注意。

角度変換

ラジアンを度に変換

ラジアンを度に変換するには degrees()関数 を使います。

math.degrees(x)

x引数(ラジアン) を度に変換します。

import math

radian = 3.141592653589793

print(math.degrees(radian))

実行結果

180.0

度をラジアンに変換

度をラジアンに変換するには radians()関数 を使います。

math.radians(x)

x引数(度) をラジアンに変換します。

import math

angle = 180.0

print(math.radians(angle))

実行結果

3.141592653589793

まとめ

この記事は、Python でよく使われる数学関数を紹介しました。

計算は関数が勝手にやってくれるので計算結果が何に使えるかを覚えておきましょう!

それでは今回の内容はここまでです。ではまたどこかで〜( ・∀・)ノ

『DMM WEBCAMP COMMIT』