Pythonには多くの演算子が定義されており、これらの演算子を正しく使用することで、より効率的かつ簡潔なコードを記述することができます。以下では、Pythonで定義されている主要な演算子について説明します。
算術演算子
算術演算子は、数値の計算に使用されます。Pythonでは、加算(+)、減算(-)、乗算(*)、除算(/)などが定義されています。Pythonには次の算術演算子があります:
加算演算子 (+)
2つの数値を加算します。
x = 5 y = 3 z = x + y print(z) # 結果: 8
減算演算子 (-)
1つの数値からもう1つの数値を減算します。
x = 5 y = 3 z = x - y print(z) # 結果: 2
乗算演算子 (*)
2つの数値を乗算します。
x = 5 y = 3 z = x * y print(z) # 結果: 15
除算演算子 (/)
1つの数値をもう1つの数値で除算します。
x = 5 y = 3 z = x / y print(z) # 結果: 1.6666666666666667
剰余演算子 (%)
1つの数値をもう1つの数値で除算した余りを返します。
x = 5 y = 3 z = x % y print(z) # 結果: 2
整数除算演算子 (//)
1つの数値をもう1つの数値で除算し、切り捨てた整数部分を返します。
x = 5 y = 3 z = x // y print(z) # 結果: 1
べき乗演算子 (**)
1つの数値をもう1つの数値のべき乗で計算します。
x = 5 y = 3 z = x ** y print(z) # 結果: 125
符号反転演算子 (-)
数値の符号を反転します。
x = 5 y = -x print(y) # 結果: -5
注意:符号反転演算子は単項演算子であり、1つの数値を対象とします。
比較演算子
比較演算子は、2つの値を比較して、真偽値を返します。Pythonでは、等しい(==)、等しくない(!=)、大なり(>)、小なり(<)、以上(>=)、以下(<=)などが定義されています。。
== (等しい)
左辺と右辺の値が等しい場合、Trueを返します。
x = 5 y = 5 print(x == y) # True
!= (等しくない)
左辺と右辺の値が等しくない場合、Trueを返します。
x = 5 y = 6 print(x != y) # True
> (より大きい)
左辺の値が右辺の値より大きい場合、Trueを返します。
x = 6 y = 5 print(x > y) # True
< (より小さい)
左辺の値が右辺の値より小さい場合、Trueを返します。
x = 5 y = 6 print(x < y) # True
>= (以上)
左辺の値が右辺の値以上の場合、Trueを返します。
x = 6 y = 5 z = 6 print(x >= y) # True print(x >= z) # True
<= (以下)
左辺の値が右辺の値以下の場合、Trueを返します。
x = 5 y = 6 z = 5 print(x <= y) # True print(x <= z) # True
論理演算子
論理演算子は、真偽値を扱う際に使用されます。Pythonでは、論理和(or)、論理積(and)、否定(not)などが定義されています。それぞれの演算子の使い方と意味を以下に説明します。
and演算子
and演算子は、2つの条件が両方ともTrueの場合にTrueを返します。それ以外の場合はFalseを返します。
# and演算子の例 x = 5 y = 10 z = 15 # xがyより小さく、かつzがyより大きい場合にTrue if x < y and z > y: print("True") else: print("False") # 出力結果:True
or演算子
or演算子は、2つの条件のうちどちらかがTrueの場合にTrueを返します。両方ともFalseの場合にFalseを返します。
# or演算子の例 x = 5 y = 10 z = 15 # xがyより小さい、またはzがyより小さい場合にTrue if x < y or z < y: print("True") else: print("False") # 出力結果:True
not演算子
not演算子は、条件を反転します。Trueの場合はFalseを、Falseの場合はTrueを返します。
# not演算子の例 x = True # xがTrueでない場合にTrue if not x: print("True") else: print("False") # 出力結果:False
代入演算子
代入演算子は、変数に値を代入する際に使用されます。Pythonでは、単純代入(=)、加算代入(+=)、減算代入(-=)、乗算代入(*=)、除算代入(/=)などが定義されています。
=
(単純代入)
右辺の値を左辺の変数に代入します。
x = 10
+=
(加算代入)
左辺の変数に右辺の値を加え、結果を左辺の変数に代入します。
x = 5 x += 3 # x = x + 3 print(x) # 結果: 8
-=
(減算代入)
左辺の変数から右辺の値を引き、結果を左辺の変数に代入します。
x = 5 x -= 2 # x = x - 2 print(x) # 結果: 3
*=
(乗算代入)
左辺の変数に右辺の値を掛け、結果を左辺の変数に代入します。
x = 5 x *= 2 # x = x * 2 print(x) # 結果: 10
/=
(除算代入)
左辺の変数を右辺の値で割り、結果を左辺の変数に代入します。
x = 10 x /= 2 # x = x / 2 print(x) # 結果: 5.0
//=
左辺の変数を右辺の値で整数除算し、結果を左辺の変数に代入します。
x = 10 x //= 3 # x = x // 3 print(x) # 結果: 3
%=
左辺の変数を右辺の値で割った余りを求め、結果を左辺の変数に代入します。
x = 10 x %= 3 # x = x % 3 print(x) # 結果: 1
**=
左辺の変数を右辺の値で累乗し、結果を左辺の変数に代入します。
x = 2 x **= 3 # x = x ** 3 print(x) # 結果: 8
ビット演算子
Pythonにはビット演算子がいくつか用意されています。ビット演算子は、コンピューターの中で数値をビット(2進数の桁)の集合として扱うための演算子です。ビット演算子を使用することで、数値のビットごとの操作が可能になります。以下にそれぞれの演算子と、それを使った例を示します。
AND演算子(&)
a = 0b1010 # 10進数で10 b = 0b1100 # 10進数で12 # ビットごとのANDを行う result = a & b print(bin(result)) # 0b1000を出力(10進数で8)
OR演算子(|)
a = 0b1010 # 10進数で10 b = 0b1100 # 10進数で12 # ビットごとのORを行う result = a | b print(bin(result)) # 0b1110を出力(10進数で14)
XOR演算子(^)
a = 0b1010 # 10進数で10 b = 0b1100 # 10進数で12 # ビットごとのXORを行う result = a ^ b print(bin(result)) # 0b0110を出力(10進数で6)
NOT演算子(~)
a = 0b1010 # 10進数で10 # ビットごとのNOTを行う result = ~a print(bin(result)) # -0b1011を出力(10進数で-11)
左シフト演算子(<<)
a = 0b1010 # 10進数で10 # 左に2ビットシフトする result = a << 2 print(bin(result)) # 0b101000を出力(10進数で40)
右シフト演算子(>>)
a = 0b1010 # 10進数で10 # 右に2ビットシフトする result = a >> 2 print(bin(result)) # 0b10を出力(10進数で2)
以上が、Pythonで定義されている主要な演算子です。これらの演算子を正しく使用することで、より効率的で簡潔なコードを記述することができます。演算子はPythonの基礎的な項目です。Pythonの基礎学習には下記のようなサイトの利用が有効です。