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の演算子の優先順位を示す表です(上から下に向かって優先順位が高い)。
**(べき乗)*,/,//,%(乗算、除算、整数除算、剰余)+,-(加算、減算)<<,>>(左シフト、右シフト)&(ビットAND)^(ビットXOR)|(ビットOR)==,!=,>,<,>=,<=(比較演算)not(論理否定)and(論理積)or(論理和)=(代入)および複合代入演算子(+=,-=,*=,/=,//=,%=,**=)
② 優先順位を利用した計算例
優先順位を利用することで、複雑な計算を正しく行うことができます。
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 +の順で計算されます。