MENU

Python:演算子

目次

Pythonの演算子とは

Pythonの演算子は、変数や値に対してさまざまな操作を行うために使用されます。

演算子は、算術演算、比較、論理演算、代入、ビット操作、メンバーシップ確認、アイデンティティ確認など、多岐にわたります。

これらの演算子を理解することで、Pythonで効率的なプログラムを作成することができます。

① 算術演算子

算術演算子は、基本的な数学的計算を行うために使用されます。 Pythonでは以下の算術演算子があります。

① 加算(+)

加算演算子は、二つの数値を加算します。

a = 10
b = 5
result = a + b
print(result)  # 結果: 15

② 減算(-)

減算演算子は、二つの数値を減算します。

a = 10
b = 5
result = a - b
print(result)  # 結果: 5

③ 乗算(*)

乗算演算子は、二つの数値を乗算します。

a = 10
b = 5
result = a * b
print(result)  # 結果: 50

④ 除算(/)

除算演算子は、二つの数値を除算します。

a = 10
b = 5
result = a / b
print(result)  # 結果: 2.0

⑤ 整数除算(//)

整数除算演算子は、二つの数値を除算し、その結果の整数部分を返します。

a = 10
b = 3
result = a // b
print(result)  # 結果: 3

⑥ 剰余(%)

剰余演算子は、二つの数値を除算した余りを返します。

a = 10
b = 3
result = a % b
print(result)  # 結果: 1

⑦ べき乗(**)

べき乗演算子は、ある数値を別の数値のべき乗にします。

a = 2
b = 3
result = a ** b
print(result)  # 結果: 8

② 比較演算子

比較演算子は、二つの値を比較し、その結果をブール値で返します。

① 等しい(==)

二つの値が等しいかどうかを比較します。

a = 5
b = 5
print(a == b)  # 結果: True

② 等しくない(!=)

二つの値が等しくないかどうかを比較します。

a = 5
b = 3
print(a != b)  # 結果: True

③ 大きい(>)

左の値が右の値より大きいかどうかを比較します。

a = 5
b = 3
print(a > b)  # 結果: True

④ 小さい(<)

左の値が右の値より小さいかどうかを比較します。

a = 5
b = 8
print(a < b)  # 結果: True

⑤ 以上(>=)

左の値が右の値以上かどうかを比較します。

a = 5
b = 5
print(a >= b)  # 結果: True

⑥ 以下(<=)

左の値が右の値以下かどうかを比較します。

a = 5
b = 8
print(a <= b)  # 結果: True

③ 論理演算子

論理演算子は、ブール値を操作するために使用されます。

① 論理積(and)

二つの条件がともに真である場合に真を返します。

a = True
b = False
print(a and b)  # 結果: False

② 論理和(or)

どちらか一方の条件が真である場合に真を返します。

a = True
b = False
print(a and b)  # 結果: False

③ 否定(not)

条件が真である場合に偽を返し、偽である場合に真を返します。

a = True
print(not a)  # 結果: False

④ 代入演算子

代入演算子は、変数に値を代入するために使用されます。

① 代入(=)

右辺の値を左辺の変数に代入します。

a = 5
print(a)  # 結果: 5

② 加算代入(+=)

変数の値に指定した値を加算し、結果を変数に代入します。

a = 5
a += 3
print(a)  # 結果: 8

③ 減算代入(-=)

変数の値から指定した値を減算し、結果を変数に代入します。

a = 5
a -= 3
print(a)  # 結果: 2

④ 乗算代入(*=)

変数の値に指定した値を乗算し、結果を変数に代入します。

a = 5
a *= 3
print(a)  # 結果: 15

⑤ 除算代入(/=)

変数の値を指定した値で除算し、結果を変数に代入します。

a = 5
a /= 2
print(a)  # 結果: 2.5

⑥ 整数除算代入(//=)

変数の値を指定した値で整数除算し、結果を変数に代入します。

a = 5
a //= 2
print(a)  # 結果: 2

⑦ 剰余代入(%=)

変数の値を指定した値で剰余計算し、結果を変数に代入します。

a = 5
a %= 3
print(a)  # 結果: 2

⑧ べき乗代入(**=)

変数の値を指定した値でべき乗計算し、結果を変数に代入します。

a = 5
a **= 3
print(a)  # 結果: 125

⑤ ビット演算子

ビット演算子は、ビットレベルでの操作を行うために使用されます。

① AND(&)

二つのビットがともに1の場合に1を返します。

a = 0b1101
b = 0b1011
print(bin(a & b))  # 結果: 0b1001

② OR(|)

どちらか一方のビットが1の場合に1を返します。

a = 0b1101
b = 0b1011
print(bin(a | b))  # 結果: 0b1111

③ XOR(^)

どちらか一方のビットが1の場合に1を返し、両方が同じ場合は0を返します。

a = 0b1101
b = 0b1011
print(bin(a ^ b))  # 結果: 0b0110

④ NOT(~)

ビットを反転させます。

a = 0b1101
print(bin(~a))  # 結果: -0b1110

⑤ 左シフト(<<)

ビットを指定した数だけ左にシフトします。

a = 0b1101
print(bin(a << 2))  # 結果: 0b110100

⑥ 右シフト(>>)

ビットを指定した数だけ右にシフトします。

a = 0b1101
print(bin(a >> 2))  # 結果: 0b11

⑥ メンバーシップ演算子

メンバーシップ演算子は、シーケンス(リスト、タプル、文字列など)内に特定の要素が含まれているかどうかを確認するために使用されます。

① in

要素がシーケンス内に含まれているかどうかを確認します。

fruits = ["apple", "banana", "cherry"]
print("banana" in fruits)  # 結果: True

② not in

要素がシーケンス内に含まれていないかどうかを確認します。

fruits = ["apple", "banana", "cherry"]
print("orange" not in fruits)  # 結果: True

⑦ アイデンティティ演算子

アイデンティティ演算子は、二つの変数が同じオブジェクトを参照しているかどうかを確認するために使用されます。

① is

二つの変数が同じオブジェクトを参照しているかどうかを確認します。

a = [1, 2, 3]
b = a
print(a is b)  # 結果: True

② is not

二つの変数が同じオブジェクトを参照していないかどうかを確認します。

a = [1, 2, 3]
b = [1, 2, 3]
print(a is not b)  # 結果: True

⑧ 演算子の優先順位

演算子には優先順位があり、計算の順序が決まっています。

① 演算子の優先順位表

以下は、Pythonの演算子の優先順位を示す表です(上から下に向かって優先順位が高い)。

  1. ** (べき乗)
  2. *, /, //, % (乗算、除算、整数除算、剰余)
  3. +, - (加算、減算)
  4. <<, >> (左シフト、右シフト)
  5. & (ビットAND)
  6. ^ (ビットXOR)
  7. | (ビットOR)
  8. ==, !=, >, <, >=, <= (比較演算)
  9. not (論理否定)
  10. and (論理積)
  11. or (論理和)
  12. = (代入)および複合代入演算子(+=, -=, *=, /=, //=, %=, **=

② 優先順位を利用した計算例

優先順位を利用することで、複雑な計算を正しく行うことができます。

a = 5
b = 3
c = 2
result = a + b * c ** 2 / 2 % 3  # 優先順位を考慮
print(result)  # 結果: 6.0

この例では、c ** 2が最初に計算され、その後b * c ** 2/ 2% 3、最後にa +の順で計算されます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次