Python チュートリアル - 演算子

胡金庫 2023年1月30日
  1. Python の算術演算子
  2. Python 比較演算子
  3. Python 論理演算子
  4. Python ビット演算子
  5. Python 代入演算子
  6. Python 特殊演算子
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 の論理演算子には andor および 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

この例では、変数 ab は同じ値を持ち、それらも同じであることがわかります。

Python メンバーシップオペレーター

Python では、演算子 innot 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 が返されます。ba になく、in 演算子が使用されているため、False が返されます。

著者: 胡金庫
胡金庫 avatar 胡金庫 avatar

DelftStack.comの創設者です。Jinku はロボティクスと自動車産業で8年以上働いています。自動テスト、リモートサーバーからのデータ収集、耐久テストからのレポート作成が必要となったとき、彼はコーディングスキルを磨きました。彼は電気/電子工学のバックグラウンドを持っていますが、組み込みエレクトロニクス、組み込みプログラミング、フロントエンド/バックエンドプログラミングへの関心を広げています。

LinkedIn Facebook