まぬねこの足跡。。。

備忘録+たのしさ+ひっそりと

Python 数値と計算

演算子

四則演算子

演算
足し算 a + b
引き算 a - b
かけ算 a * b
割り算 a / b
割算(小数点切り捨て) a // b
余り a % b
べき乗 a ** b

※カッコ「()」も使える。

ビット単位演算子(整数型のみ)

記号 内容
x | y xとyのビット論理和
x ^ y xとyのビット排他的論理和
x & y xとyのビット論理積
x << n xをnビット左シフト
x >> n xをnビット右シフト
~x xのビット反転

四則演算による型の変化

割算「/」「//」以外

  • 整数と整数=整数
  • 整数と実数=実数
  • 実数と実数=実数

割算

割算「/」=実数。※誤差の場合、あり。
割算「//」=整数。

ちょこっとメモ

「0」除算

「ZeroDivisionError」実行エラーとなる。

演算優先順位

1. 「+」「-」:単項演算子(数値のプラス/マイナス表現)
2. 「**」:べき乗
3. 「*」「/」「//」:かけ算、割り算
4. 「」「」:足し算、引き算
ただし、カッコ「()」内が最優先

無限大 四則演算

足し算

  • inf + 値 = inf
  • inf + -inf = nan
print(float('inf') + 100)
print(float('inf') + -float('inf'))

表示イメージ

inf
nan

引き算

  • inf - 値 = inf
  • inf - inf = nan ※float型になる
print(float('inf') - 100)
print(float('inf') - float('inf'))
print(type(float('inf') - float('inf')))

表示イメージ

inf
nan
<class 'float'>

掛け算

  • inf * 値 = inf
  • inf * inf = inf
  • inf * 0 = nan
print(float('inf') * 5)
print(float('inf') * float('inf'))
print(float('inf') * 0)

表示イメージ

inf
inf
nan

割算

  • inf / 値 = inf
  • inf / inf = nan
  • 0 / inf = 0.0
print(float('inf') / 5)
print(float('inf') / float('inf'))
print(0 / float('inf'))

表示イメージ

inf
nan
0.0

べき乗

  • inf = inf
  • infinf = inf
  • inf0 = 1
  • 1inf = 1
  • 0inf = 0
print(float('inf') ** 5)
print(float('inf') ** float('inf'))
print(float('inf') ** 0)
print(1 ** float('inf'))
print(0 ** float('inf'))

表示イメージ

inf
inf
1.0
1.0
0.0