1
2

【Python】数値演算

Last updated at Posted at 2024-06-09

数値演算

Pythonでは数値演算が非常に重要な役割を果たします。以下の種類の数値演算を行うことができます。

基本的な算術演算

  • 加算 (+)
  • 減算 (-)
  • 乗算 (*)
  • 除算 (/)
  • 整数除算(//)
  • 剰余 (%)
  • べき乗 (**)
  • 階乗 (math.factorial())
a = 10
b = 3

print(a + b)  # 加算 出力: 13
print(a - b)  # 減算 出力: 7
print(a * b)  # 乗算 出力: 30
print(a / b)  # 除算 出力: 3.3333333333333335
print(a // b)  # 整数除算 出力: 3
print(a % b)  # 剰余 出力: 1
print(a ** b) # べき乗 出力: 1000

代入演算

  • 変数への代入 (=)
  • 複合代入演算 (+=, -=, *=, /=, %=, **=)
x = 5
x += 3  # x = x + 3 = 8
x -= 1  # x = x - 1 = 7
x *= 2  # x = x * 2 = 14
x /= 7  # x = x / 7 = 2.0
x //= 7  # x = x // 7 = 0.0

比較演算

  • 等しい (==)
  • 等しくない (!=)
  • より大きい (>)
  • より小さい (<)
  • 以上 (>=)
  • 以下 (<=)
a = 10
b = 5

print(a == b)  # False
print(a != b)  # True
print(a > b)   # True
print(a < b)   # False
print(a >= b)  # True
print(a <= b)  # False

ビット演算

  • ビット論理積 (&)
  • ビット論理和 (|)
  • ビット排他的論理和 (^)
  • 右シフト (>>)
  • 左シフト (<<)
  • ビット反転 (~)
a = 0b1010  # 2進数 1010 = 10
b = 0b1100  # 2進数 1100 = 12

print(bin(a & b))  # ビット論理積 出力: 0b1000 (8)
print(bin(a | b))  # ビット論理和 出力: 0b1110 (14)
print(bin(a ^ b))  # ビット排他的論理和 出力: 0b110 (6)
print(bin(a >> 1)) # 右シフト 出力: 0b101 (5)
print(bin(b << 2)) # 左シフト 出力: 0b110000 (48)

数学関数

  • 絶対値 (abs())

  • 最大値・最小値 (max(), min())

  • 商と剰余 (divmod())

  • べき乗と平方根 (pow(), sqrt())

  • 円周率と自然対数の底 (math.pi, math.e)

  • 三角関数 (sin(), cos(), tan())

  • 対数関数 (log(), log10())

  • その他 (math, cmath モジュールにあるさまざまな関数)

import math

print(abs(-5))     # 絶対値 出力: 5
print(max(2, 7, 1)) # 最大値 出力: 7
print(min(4, 9, 2)) # 最小値 出力: 2
print(divmod(10, 3)) # 商と剰余 出力: (3, 1)
print(pow(2, 3))    # べき乗 出力: 8
print(math.sqrt(25)) # 平方根 出力: 5.0
print(math.pi)       # 円周率 出力: 3.141592653589793
print(math.sin(math.pi/2)) # Sin値 出力: 1.0
print(math.log(100, 10))  # 常用対数 出力: 2.0

これらの演算とPythonの数値型(int, float, complex)を組み合わせることで、様々な数値計算を行うことができます。より高度な数値処理が必要な場合は、NumPyやSciPyなどの専門ライブラリを使用します。

参考) 東京工業大学情報理工学院 Python早見表

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2