Pythonにおける数値操作
この記事ではPythonにおける数値操作について説明します。
数値の型や組み込み関数とモジュールの概要、mathモジュールの数学関数の概要について学べます。
YouTube Video
Pythonにおける数値操作
Pythonは、数値操作にとても強力な機能を備えています。以下にPythonでの基本的な数値操作について説明します。
数値型
Pythonには主に以下のような数値型があります。
1# Integer (int)
2x = 10
3y = -5
4print("x =", x, "type:", type(x)) # <class 'int'>
5print("y =", y, "type:", type(y)) # <class 'int'>
6print("x + y =", x + y) # 5
7
8# Float
9a = 3.14
10b = -0.001
11print("\na =", a, "type:", type(a)) # <class 'float'>
12print("b =", b, "type:", type(b)) # <class 'float'>
13print("a * 2 =", a * 2) # 6.28
14
15# Complex
16c = 2 + 3j
17d = 1 - 1j
18print("\nc =", c, "type:", type(c)) # <class 'complex'>
19print("d =", d, "type:", type(d)) # <class 'complex'>
20print("c + d =", c + d) # (3+2j)
21print("c * d =", c * d) # (5+1j)- **int(整数型)**は、
10や-5などの整数を表します。 - **float(浮動小数点数型)**は、
3.14や-0.001などの小数点を含む数値を表します。 - **complex(複素数型)**は、
2 + 3jなどの複素数を表します。ここでjは虚数単位です。
組み込み関数とモジュール
Pythonには数値操作に便利な組み込み関数やモジュールも多くあります。
- **
abs(x)**関数は、絶対値を返します。
1result = abs(-10) # result is 10
2print(result)このコードは、abs() 関数を使って数値の絶対値を取得する例です。
- **
round(x, n)**関数は、四捨五入してn桁にします。
1result = round(3.14159, 2) # result is 3.14
2print(result)このコードは、round() 関数を使って数値を指定した小数点以下の桁数に四捨五入する例です。
mathモジュールは、より高度な数学関数を提供します。
1import math
2
3# result is 4.0 (square root)
4result = math.sqrt(16)
5print(result)
6
7# result is 1.0 (sine function)
8result = math.sin(math.pi / 2)
9print(result)このコードは、math モジュールを使って平方根や三角関数などの高度な数学計算を行う例です。
decimalモジュールは、高精度な小数計算をサポートします。
1from decimal import Decimal
2
3# result is Decimal('0.3')
4result = Decimal('0.1') + Decimal('0.2')
5print(result)
6
7# The result is 0.30000000000000004 due to floating-point inaccuracies
8print(0.1 + 0.2)このコードは、decimal モジュールを使って浮動小数点の誤差を回避し、高精度な小数計算を行う例です。
fractionsモジュールは、有理数(分数)を扱います。
1from fractions import Fraction
2result = Fraction(1, 3) + Fraction(1, 6) # result is Fraction(1, 2)
3print(result)これらの操作により、Pythonはさまざまな数値計算を簡単に行うことができます。浮動小数点の計算には精度の限界があるため、より高精度な計算が必要な場合は、decimalモジュールなどを使用することが推奨されます。
Pythonにおける数学関数
Pythonでは、数学関数を利用するための便利なモジュールとしてmathがあります。このモジュールは、数学的な計算を行うために必要な多くの関数を提供しています。mathモジュールのいくつかの代表的な関数について見てみましょう。
基本的な数学関数
math.sqrt(x): 数値xの平方根を返します。xは非負の数である必要があります。math.pow(x, y):xのy乗を返します。math.exp(x): 数値xの指数関数 (e^x) を返します。math.log(x[, base]): 自然対数または指定したbaseの底の対数を計算します。baseを省略した場合、自然対数を計算します。
三角関数
math.sin(x): ラジアン値xのサインを返します。math.cos(x): ラジアン値xのコサインを返します。math.tan(x): ラジアン値xのタンジェントを返します。
逆三角関数
math.asin(x):xのアークサイン(逆サイン)を返します。math.acos(x):xのアークコサイン(逆コサイン)を返します。math.atan(x):xのアークタンジェント(逆タンジェント)を返します。
双曲線関数
math.sinh(x): 数値xの双曲線サインを返します。math.cosh(x): 数値xの双曲線コサインを返します。math.tanh(x): 数値xの双曲線タンジェントを返します。
定数
math.pi: 円周率 (\pi) を表す定数です。math.e: 自然対数の底 (e) を表す定数です。
計算例
以下にいくつかの例を示します。
1import math
2
3# Square root calculation
4print(math.sqrt(16)) # Output: 4.0
5
6# Power calculation
7print(math.pow(2, 3)) # Output: 8.0
8
9# Natural logarithm calculation
10print(math.log(math.e)) # Output: 1.0
11
12# Trigonometric functions
13degree = 45
14radian = math.radians(degree) # Convert to radians
15print(math.sin(radian)) # Output: 0.7071067811865475 (approximately 1/√2)
16
17# Constants
18print(math.pi) # Output: 3.141592653589793
19print(math.e) # Output: 2.718281828459045- このコードは、
mathモジュールを使って平方根、べき乗、自然対数、三角関数の計算を行い、さらに円周率や自然対数の底などの定数を表示します。
まとめ
ここではmathモジュールを使用しましたが、他にも高度な数学的計算や乱数生成についても豊富なサポートがあります。NumPyやSciPyといったライブラリを使用すれば、より強力で多様な数学的機能を活用できます。
YouTubeチャンネルでは、Visual Studio Codeを用いて上記の記事を見ながら確認できます。 ぜひYouTubeチャンネルもご覧ください。