平方根、切り上げ・切り捨て、最大公約数、三角関数……。Pythonで数値計算をしようとすると、足し算や引き算だけでは足りない場面がすぐに出てきます。そんなときに頼りになるのが、標準ライブラリの math モジュールです。
この記事では、math モジュールのよく使う関数を、実行結果つきで初心者向けにまとめて解説します。切り上げ・切り捨てや、小数の比較といった「つまずきやすいポイント」もあわせて確認しましょう。
mathモジュールの使い方
import math と書くだけで使えます。追加のインストールは不要です。
import math
print(math.sqrt(16)) # 4.0組み込み関数の sum・max・min・round・abs は、import なしで使えます。詳しくはsum・max・min・round・absの記事をご覧ください。
定数:円周率とネイピア数
import math
print(math.pi) # 3.141592653589793
print(math.e) # 2.718281828459045
print(math.inf) # inf(無限大)平方根・べき乗・距離
import math
print(math.sqrt(16)) # 4.0
print(math.pow(2, 3)) # 8.0
print(2 ** 3) # 8
print(math.hypot(3, 4)) # 5.0(直角三角形の斜辺)math.pow は必ず float を返します。整数のまま計算したいときは ** 演算子を使いましょう。
切り上げ・切り捨て
import math
print(math.ceil(2.1)) # 3(切り上げ)
print(math.floor(2.9)) # 2(切り捨て)
print(math.floor(-2.1)) # -3
print(math.trunc(-2.7)) # -2(小数部分を捨てる)負の数の扱いに注意が必要です。floor は「小さい方向」へ、trunc は「0に近い方向」へ丸めます。
組み込みの round は四捨五入ではない?
print(round(2.5)) # 2
print(round(3.5)) # 4
print(round(2.675, 2)) # 2.67Pythonの round は「偶数丸め(銀行丸め)」という方式で、ちょうど真ん中の値は偶数側に丸められます。通常の四捨五入が必要なときは、math.floor(x + 0.5) などで書く必要があります。この挙動は、試験問題や面接でも出題されやすいポイントです。
資格試験を意識して学習している方は、Python3エンジニア認定基礎試験のおすすめ参考書比較も参考にしてください。
最大公約数・最小公倍数・階乗・組み合わせ
import math
print(math.gcd(12, 18)) # 6(最大公約数)
print(math.lcm(4, 6)) # 12(最小公倍数・3.9以降)
print(math.factorial(5)) # 120(5の階乗)
print(math.comb(5, 2)) # 10(5個から2個選ぶ組み合わせの数)組み合わせの中身を実際に列挙したいときは、itertoolsの記事で紹介している combinations が便利です。
対数と三角関数
import math
print(math.log(8, 2)) # 3.0(底が2の対数)
print(math.log10(1000)) # 3.0
print(math.sin(math.pi / 2)) # 1.0
print(math.degrees(math.pi)) # 180.0
print(math.radians(180)) # 3.141592653589793三角関数は、ラジアンで角度を渡す点に注意してください。度数法から変換するには math.radians を使います。
小数の比較は isclose で
import math
print(0.1 + 0.2 == 0.3) # False
print(math.isclose(0.1 + 0.2, 0.3)) # True小数は内部で誤差が生じるため、== での比較は避け、math.isclose を使います。
もっと効率的にPythonを学びたい人へ
数値計算はデータ分析やAIにつながる基礎でもあります。その先のスキルまで見据えて学びたい方は、マンツーマンで相談できるスクールを検討してみてください。
Winスクールの「Python Winner」は、マンツーマン指導で未経験からPythonを学べ、転職サポートや無料カウンセリングにも対応しています。まずは無料カウンセリングで、自分に合うか確かめてみてはいかがでしょうか。
※本記事には広告(アフィリエイトリンク)を含みます。
Pythonプログラミング|マンツーマンレッスンで初めてをプロに育てる【Python Winner】![]()
他のスクールとも比べたい方は、スクールの比較記事もあわせてご覧ください。資格取得を目指す方はPython3エンジニア認定基礎試験の参考書比較も参考になります。
まとめ
- math は import するだけで使える標準ライブラリ
- pi・e などの定数と、sqrt・hypot・pow などの計算関数がある
- ceil(切り上げ)、floor(切り捨て)、trunc(小数部を捨てる)を使い分ける
- 組み込みの round は偶数丸めなので、通常の四捨五入とは違う
- 小数の比較は math.isclose を使う
まずは電卓代わりに、気になる関数をひとつずつ実行して結果を確かめてみましょう。
ナノトイラボ 