Python 3には、数学的な操作を簡単に行うための強力な組み込み関数が豊富に用意されています。これらの関数は、数値計算や数学的な処理を効率的に行うために非常に便利です。この記事では、Python 3における主要な数学関数とその使い方について詳しく解説します。
1. abs(): 絶対値を返す
abs()関数は、与えられた数値の絶対値を返します。絶対値とは、数の符号を無視した値です。
pythonprint(abs(-5)) # 出力: 5
print(abs(3)) # 出力: 3
2. round(): 四捨五入
round()関数は、数値を指定した桁数に四捨五入します。第二引数で小数点以下の桁数を指定できます。
pythonprint(round(3.14159, 2)) # 出力: 3.14
print(round(2.71828, 3)) # 出力: 2.718
3. pow(): べき乗計算
pow()関数は、指定した数値のべき乗を計算します。二つの引数を渡すとべき乗を計算し、三つ目の引数を渡すとモジュラ計算(剰余演算)を行います。
pythonprint(pow(2, 3)) # 出力: 8 (2の3乗)
print(pow(2, 3, 3)) # 出力: 2 (2の3乗を3で割った余り)
4. max() と min(): 最大値と最小値
max()関数は与えられた引数の中から最大の値を返し、min()関数は最小の値を返します。リストやタプルなどのイテラブルを引数に渡すこともできます。
pythonprint(max(1, 2, 3, 4)) # 出力: 4
print(min([10, 20, 30])) # 出力: 10
5. sum(): 合計
sum()関数は、イテラブル(リストやタプルなど)のすべての要素を加算した合計を返します。
pythonprint(sum([1, 2, 3, 4])) # 出力: 10
6. divmod(): 商と余りを計算
divmod()関数は、引数として与えられた二つの数値を割り算し、商と余りをタプルで返します。
pythonprint(divmod(10, 3)) # 出力: (3, 1) 商が3で余りが1
7. mathモジュール: より高度な数学関数
Pythonにはmathモジュールがあり、これをインポートすることで、さらに高度な数学的な処理を行うことができます。代表的な関数には次のようなものがあります。
math.sqrt(): 平方根
pythonimport math
print(math.sqrt(16)) # 出力: 4.0
math.factorial(): 階乗
pythonprint(math.factorial(5)) # 出力: 120
math.sin(), math.cos(), math.tan(): 三角関数
pythonprint(math.sin(math.pi / 2)) # 出力: 1.0
print(math.cos(0)) # 出力: 1.0
print(math.tan(math.pi / 4)) # 出力: 1.0
math.log(): 対数
pythonprint(math.log(10)) # 出力: 2.302585092994046 (自然対数)
print(math.log(100, 10)) # 出力: 2.0 (底が10の対数)
8. isinstance(): 数値の型を確認
isinstance()関数は、オブジェクトが特定の型であるかどうかを確認するために使います。これにより、数値が整数型や浮動小数点型であるかを確認できます。
pythonprint(isinstance(5, int)) # 出力: True
print(isinstance(3.14, float)) # 出力: True
9. complex(): 複素数
Pythonでは複素数も扱うことができます。complex()関数を使って複素数を作成できます。
pythonz = complex(2, 3) # 2 + 3j
print(z) # 出力: (2+3j)
10. int() と float(): 型変換
int()とfloat()関数は、文字列や他の数値型を整数や浮動小数点数に変換するために使用されます。
pythonprint(int("5")) # 出力: 5
print(float("3.14")) # 出力: 3.14
まとめ
Python 3の組み込み数学関数は、基本的な計算から高度な数学的処理まで幅広い用途に対応しています。これらの関数を適切に使うことで、プログラムの効率や可読性を向上させることができます。また、mathモジュールを活用することで、さらに多くの数学的な操作が可能となります。Pythonの数学的機能をフル活用するためには、これらの関数を理解し、状況に応じて使い分けることが重要です。
