Python チュートリアル - 演算子
このセクションでは、サンプルコードを使用して Python 演算子について説明します。
演算子は、オペランド(値または変数)で特定のタスクを実行するための特別な記号です。たとえば、a + b
を記述する場合、ここで+
は変数 a
および b
を操作する演算子であり、これらの変数はオペランドと呼ばれます。
以下は、Python 演算子のタイプの一部です。
Python の算術演算子
算術演算子は、加算、減算、乗算などの変数に対して算術(数学)演算を実行します。
Python 算術演算子が例とともに説明されている次の表を検討してください。
オペレーター | 説明 | 例 |
---|---|---|
+ |
値に追加するために使用されます。単項+ 演算子としても使用できます | a + b 、+a |
- |
別の値から値を減算するために使用されます。単項演算子としても使用できます-演算子 | a - b 、-a |
* |
2つの数値を乗算するために使用されます | a * b |
/ |
ある値を別の値で除算するために使用されます。除算は常に float データ型を返します。 | a / b |
% |
2つのオペランドの除算の剰余を返すために使用されます。 | a % b |
// |
それは、整数を返すフロア分割と呼ばれます | a // b |
** |
これは、左オペランドが右オペランドの累乗になることを意味する指数です | a ** b |
Python の算術演算子の例
次のコードでは、2つのオペランドに算術演算子が使用されています。
a = 24
b = 7
print("a + b =", a + b)
print("a - b =", a - b)
print("a * b =", a * b)
print("a / b =", a / b)
print("a // b =", a // b)
print("a ** b =", a ** b)
a + b = 31
a - b = 17
a * b = 168
a / b = 3.4285714285714284
a // b = 3
a ** b = 4586471424
ここでわかるように、部門は浮動小数点値を返しましたが、フロア部門は整数を返しました。
Python 比較演算子
比較演算子は、2つ以上の値を比較します。比較演算子を適用した後に得られた結果は、いずれかである True
か、False
条件に基づい。
Python プログラミングの比較演算子は次のとおりです。
オペレーター | 説明 | 例 |
---|---|---|
> |
左オペランドの値が右オペランドの値より大きい場合に true を返す大なり演算子。 | a > b |
< |
左オペランドの値が右オペランドの値より小さい場合に true を返す小なり演算子。 | a < b |
== |
等しい演算子は、両方のオペランドの値が等しい場合に true を返します | a == b |
!= |
等しくない演算子は、オペランドの値が等しくない場合に true を返します | a != b |
>= |
左オペランドの値が右オペランドの値以上の場合に true を返すより大きい演算子。 | a >= b |
<= |
左オペランドの値が右オペランドの値以下の場合に true を返す以下の演算子。 | a <= b |
Python 比較演算子の例
比較演算子が使用される以下のコードを検討してください。
a = 12
b = 24
print("a > b =", a > b)
print("a < b =", a < b)
print("a == b =", a == b)
print("a != b =", a != b)
print("a >= b =", a >= b)
print("a <= b =", a <= b)
a > b = False
a < b = True
a == b = False
a != b = True
a >= b = False
a <= b = True
Python 論理演算子
Python の論理演算子には and
、or
および not
が含まれます。
オペレーター | 説明 | 例 |
---|---|---|
and |
両方のオペランド(または条件)が真の場合にのみ真になります | a and b |
or |
いずれかのオペランドが true の場合、true になります | a or b |
not |
オペランドの補数を取ります(true から false、false から true) | not a |
Python 論理演算子の例
論理演算子が使用される次の例を検討してください。
a = False
b = True
print("a and b =", a and b)
print("a or b =", a or b)
print("not b =", not b)
a and b = False
a or b = True
not b = False
Python ビット演算子
ビット演算子はビットごとの演算を実行します。オペランドは、ビット単位の演算が実行される 2 進数と見なされます。
a = 4
(バイナリで 100)と b = 5
(バイナリで 101)がある例を考えてみましょう:
オペレーター | 説明 | 例 |
---|---|---|
& |
両方のオペランドのビットが 1 のときに 1 になるビット単位の AND 演算子 | a &b = 4 |
| |
オペランドのビットの 1つが 1 の場合、結果が 1 になるビット単位の OR 演算子。 | a | b = 5 |
~ |
否定、2 の補数を取ります。 | ~a = -5 |
^ |
オペランドのビットが異なる場合、ビットごとの XOR 演算子は 1 になります。 | a ^ b = 1 |
>> |
ビット単位の右シフトは、指定された回数だけビットを右側にシフトします。 | a >>2= 1 |
<< |
ビット単位の左シフトは、指定された回数だけビットを左にシフトします。 | a << 2 =16 |
Python 代入演算子
代入演算子 =
は値を変数に割り当てます。代入演算子は、変数を初期化します。たとえば、x = 1
は値 1
を変数 x
に代入します。
Python には、算術演算子と代入演算子の組み合わせである複合代入演算子があり、ビット単位演算子と代入演算子の組み合わせもあります。
たとえば x += 2
は複合代入ステートメントであり、変数 x
の実際の値に 2 が追加され x
、結果が変数 x
に格納ます。
以下は、代入演算子と複合代入演算子のリストです。
オペレーター | 例 | に相当 |
---|---|---|
= |
a = 8 |
a = 8 |
+= |
a += 8 |
a = a + 8 |
-= |
a -= 8 |
a = a - 8 |
*= |
a *= 8 |
a = a * 8 |
/= |
a /= 8 |
a = a / 8 |
%= |
a %= 8 |
a = a % 8 |
/= |
a /= 8 |
a = a / 8 |
*= |
a *= 8 |
a = a * 8 |
&= |
a &= 8 |
a = a & 8 |
` | =` | `a |
^= |
a ^= 8 |
a = a ^ 8 |
>>= |
a >>= 8 |
a = a >> 8 |
<<= |
a <<= 8 |
a = a << 8 |
Python 特殊演算子
Python プログラミングには、特別な意味を持ち、メンバーシップ演算子、ID 演算子などの特別な演算子と呼ばれる演算子がいくつかあります。
Python ID オペレーター
Python では、演算子 is
および is not
は、ID 演算子と呼ばれます。アイデンティティ演算子は、2つの変数がメモリの同じ部分にあるかどうかを判断するために使用されます。したがって、等しくなる 2つの変数と同一になる 2つの変数は、2つの異なるステートメントです。
オペレーター | 説明 |
---|---|
is |
変数が同一の場合(同じオブジェクトを参照する変数)に true を返します |
is not |
変数が同一でない場合(変数が同じオブジェクトを参照していない場合)に true を返します |
Python ID 演算子の例
以下のコードを検討してください。
a = 3
b = 3
print(a is b)
print(a is not b)
True
False
この例では、変数 a
と b
は同じ値を持ち、それらも同じであることがわかります。
Python メンバーシップオペレーター
Python では、演算子 in
と not in
はメンバーシップ演算子と呼ばれます。メンバーシップ演算子は、変数がシーケンス(リスト、タプル、文字列、辞書)にあるかどうかを判断するために使用されます。
key
ディクショナリではなくディクショナリのディクショナリメンバーシップ操作を実行できます value
。
辞書の key
に対して辞書メンバーシップ操作を実行できますが、value
に対してはできません。
オペレーター | 説明 |
---|---|
in |
シーケンスに値が存在する場合に true を返します |
not in |
シーケンスに値が存在しない場合に true を返します |
Python メンバーシップ演算子の例
以下のコードを検討してください。
a = "Python Programming"
print("y" in a)
print("b" not in a)
print("b" in a)
True
True
False
このコードでは、シーケンス(文字列)に y
が存在するため、True
が返されます。同様に、a
には b
が存在しないため、not in
が使用されると再び True
が返されます。b
が a
になく、in
演算子が使用されているため、False
が返されます。