このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

【Python入門】mathライブラリ

mathライブラリ

 Pythonでは、数学的な計算や高度な数値処理を行う際に非常に便利なmathライブラリ(mathモジュール)が用意されています。mathモジュールを活用することで、基本的な数学関数から複雑な計算まで、幅広い用途に対応することが可能です。ここでは、mathモジュールの基本的な使い方と、代表的な関数であるfloor(フロア)とceil(シール)について詳しく解説します。

プログラムのダウンロード

 「ダウンロード」から、JupyterLab で実行できるサンプルプログラムがダウンロードできます。ファイルは、ESET Endpoint Securityでウイルスチェックをしておりますが、ダウンロードとプログラムの実行は自己責任でお願いいたします。

1.mathライブラリの基本

 mathモジュールは、数学的な関数や定数を提供する標準ライブラリの一つです。これらの関数を利用することで、複雑な計算を簡潔に記述することができます。mathモジュールを使用するには、まずインポートする必要があります。

ライブラリの読み込み(import文)

mathモジュールを使用するためには、プログラムの先頭で以下のようにインポートします。

import math

ポイント

  • import文を使ってモジュールを読み込むことで、そのモジュール内の関数や定数を利用可能になります。
  • 一度インポートすれば、プログラム全体でmathモジュールの機能を使用できます。

2. floor関数とceil関数の使い方

 mathモジュールには、数値を特定の方向に丸める関数としてfloor関数とceil関数が含まれています。これらの関数は、数値を整数に変換する際に非常に役立ちます。

floor関数(フロア関数)

 math.floor()関数は、指定した数値以下の最大の整数を返します。言い換えれば、小数点以下を切り捨てて最も近い整数に丸めます。

【構文】
math.floor(数値)

・サンプルプログラム

import math

num = 5.75
result = math.floor(num)
print(result)  # 出力: 5

num_negative = -3.2
result_negative = math.floor(num_negative)
print(result_negative)  # 出力: -4

ceil関数(シール関数)

 math.ceil()関数は、指定した数値以上の最小の整数を返します。これは、小数点以下を切り上げて最も近い整数に丸めることを意味します。

【構文】
math.ceil(数値)

・サンプルプログラム

import math

num = 5.25
result = math.ceil(num)
print(result)  # 出力: 6

num_negative = -3.8
result_negative = math.ceil(num_negative)
print(result_negative)  # 出力: -3

floor関数とceil関数の違い

関数説明出力
floor数値以下の最大の整数に丸める(切り捨て)math.floor(4.7)4
ceil数値以上の最小の整数に丸める(切り上げ)math.ceil(4.2)5
floor負の数の場合、数値以下の最大の整数に丸めるmath.floor(-2.3)-3
ceil負の数の場合、数値以上の最小の整数に丸めるmath.ceil(-2.3)-2

ポイント

  • 正の数では、floorは切り捨て、ceilは切り上げを行います。
  • 負の数では、floorはより小さい整数に、ceilはより大きい整数に丸められます。

3.その他の代表的な関数

 mathモジュールには、floorceil以外にも多くの便利な関数が含まれています。ここではその一部を紹介します。

関数説明出力
math.sqrt()数値の平方根を返すmath.sqrt(16)4.0
math.pow()指定した数値の累乗を返すmath.pow(2, 3)8.0
math.sin()ラジアンで指定した角度の正弦を返すmath.sin(math.pi / 2)1.0
math.cos()ラジアンで指定した角度の余弦を返すmath.cos(0)1.0
math.log()指定した数値の自然対数を返すmath.log(math.e)1.0
math.factorial()指定した整数の階乗を返すmath.factorial(5)120

・サンプルプログラム

import math

# 平方根の計算
print(math.sqrt(25))  # 出力: 5.0

# 累乗の計算
print(math.pow(3, 4))  # 出力: 81.0

# 正弦の計算
print(math.sin(math.pi / 2))  # 出力: 1.0

# 余弦の計算
print(math.cos(math.pi))  # 出力: -1.0

# 自然対数の計算
print(math.log(math.e))  # 出力: 1.0

# 階乗の計算
print(math.factorial(6))  # 出力: 720

4.mathライブラリの活用ポイント

mathモジュールを効果的に活用するためのポイントを以下にまとめます。

ポイント説明利用例
インポートの必要性mathモジュールの関数を使用する前に、必ずインポートが必要。import math
関数の利用方法モジュール名を先頭に付けて関数を呼び出す。math.floor(3.7), math.sqrt(16)
定数の利用mathモジュールには数学定数も含まれている。math.pi, math.e
ラジアンの使用三角関数はラジアンで角度を指定する。math.sin(math.radians(90)) → 1.0
精度の確保高精度な数学計算が必要な場合に便利。科学計算やエンジニアリング分野での利用

活用例

  • 科学計算: 複雑な数式や物理現象のシミュレーションに使用。
  • ゲーム開発: ゲーム内の物理演算や座標計算に利用。
  • データ分析: 数値データの統計処理や分析に役立つ関数を活用。

まとめ

ここでは、Pythonのmathライブラリ(mathモジュール)について学びました。

  • mathモジュールの基本import math を使用してモジュールを読み込み、数学的な関数や定数を利用する方法を理解しました。
  • 主要な関数floor関数とceil関数を中心に、数値を特定の方向に丸める方法を学びました。
  • その他の関数:平方根、累乗、三角関数、対数、階乗など、mathモジュールに含まれる便利な関数を紹介しました。
  • 活用ポイントmathモジュールを効果的に活用するためのポイントと利用例を確認しました。

 mathモジュールを活用することで、Pythonでの数学的な計算が格段に効率的かつ正確になります。次のコンテンツでは、変数と代入文について詳しく解説していきます。ぜひ、実際にコードを書きながら、mathモジュールの関数を試してみてください。