Python-基本的な演算子

演算子は、オペランドの値を操作できる構造です。

式4+ 5 = 9について考えてみます。ここで、4と5はオペランドと呼ばれ、+は演算子と呼ばれます。

オペレーターの種類

Python言語は、次のタイプの演算子をサポートしています。

  • 算術演算子
  • 比較(関係)演算子
  • 代入演算子
  • 論理演算子
  • ビット演算子
  • メンバーシップオペレーター
  • アイデンティティ演算子

すべての演算子を1つずつ見ていきましょう。

Python算術演算子

変数aが10を保持し、変数bが20を保持すると仮定すると、−

[例を表示]

オペレーター 説明
+追加 演算子のいずれかの側に値を追加します。 a + b = 30
-減算 左側のオペランドから右側のオペランドを減算します。 a – b = -10
*乗算 演算子のいずれかの側で値を乗算します a * b = 200
/部門 左側のオペランドを右側のオペランドで除算します b / a = 2
% 係数 左側のオペランドを右側のオペランドで除算し、余りを返します b%a = 0
**指数 演算子の指数(パワー)計算を実行します a ** b = 10の20乗
// フロア分割-結果が小数点以下の桁を削除した商であるオペランドの分割。ただし、オペランドの1つが負の場合、結果はフロアになります。つまり、ゼロから丸められます(負の無限大に向かって)- 9 // 2 = 4および9.0 // 2.0 = 4.0、-11 // 3 = -4、-11.0 // 3 = -4.0

Python比較演算子

これらの演算子は、それらの両側の値を比較し、それらの間の関係を決定します。それらは関係演算子とも呼ばれます。

変数aが10を保持し、変数bが20を保持すると仮定すると、−

[例を表示]

オペレーター 説明
== 2つのオペランドの値が等しい場合、条件は真になります。 (a == b)は真ではありません。
!= 2つのオペランドの値が等しくない場合、条件は真になります。 (a!= b)は真です。
<> 2つのオペランドの値が等しくない場合、条件は真になります。 (a <> b)は真です。これは!=演算子に似ています。
>> 左のオペランドの値が右のオペランドの値より大きい場合、条件は真になります。 (a> b)は正しくありません。
< 左のオペランドの値が右のオペランドの値よりも小さい場合、条件は真になります。 (a <b)は真です。
> = 左のオペランドの値が右のオペランドの値以上の場合、条件は真になります。 (a> = b)は正しくありません。
<= 左のオペランドの値が右のオペランドの値以下の場合、条件は真になります。 (a <= b)は真です。

Python代入演算子

変数aが10を保持し、変数bが20を保持すると仮定すると、−

[例を表示]

オペレーター 説明
= 右側のオペランドから左側のオペランドに値を割り当てます c = a + bは、a + bの値をcに割り当てます
+ = ANDを追加 右のオペランドを左のオペランドに追加し、結果を左のオペランドに割り当てます c + = aはc = c + aと同等です
-= ANDを引く 左のオペランドから右のオペランドを減算し、その結果を左のオペランドに割り当てます c- = aはc = c-aと同等です
* = ANDを掛ける 右のオペランドと左のオペランドを乗算し、その結果を左のオペランドに割り当てます。 c * = aはc = c * aと同等です
/ =分割統治法 左のオペランドを右のオペランドで除算し、その結果を左のオペランドに割り当てます c / = aはc = c / aと同等です
%=モジュラスAND 2つのオペランドを使用してモジュラスを取り、その結果を左側のオペランドに割り当てます。 c%= aはc = c%aと同等です
** =指数AND 演算子に対して指数(累乗)計算を実行し、左側のオペランドに値を割り当てます c ** = aはc = c ** aと同等です
// =フロア分割 演算子のフロア除算を実行し、左側のオペランドに値を割り当てます c // = aはc = c // aと同等です

Pythonビット演算子

ビット単位の演算子はビットを処理し、ビットごとの演算を実行します。a = 60の場合を想定します。およびb = 13; バイナリ形式では、それらの値はそれぞれ00111100と00001101になります。次の表に、Python言語でサポートされているビット演算子と、それぞれの例を示します。上記の2つの変数(aとb)をオペランドとして使用します。

a = 0011 1100

b = 0000 1101

-----------------

a&b = 0000 1100

a | b = 0011 1101

a ^ b = 0011 0001

〜a = 1100 0011

Python言語でサポートされている次のビット演算子があります

[例を表示]

オペレーター 説明
&バイナリAND 演算子が両方のオペランドに存在する場合、結果にビットをコピーします (a&b)(0000 1100を意味します)
| バイナリOR いずれかのオペランドに存在する場合は、ビットをコピーします。 (a | b)= 61(0011 1101を意味します)
^バイナリXOR 両方ではなく一方のオペランドに設定されている場合、ビットをコピーします。 (a ^ b)= 49(0011 0001を意味します)
〜バイナリの補数 これは単項であり、ビットを「反転」させる効果があります。 (〜a)= -61(符号付き2進数のため、2の補数形式の11000011を意味します。
<<バイナリ左シフト 左のオペランドの値は、右のオペランドで指定されたビット数だけ左に移動します。 a << 2 = 240(1111 0000を意味します)
>>バイナリ右シフト 左のオペランドの値は、右のオペランドで指定されたビット数だけ右に移動します。 a >> 2 = 15(0000 1111を意味します)

Python論理演算子

Python言語でサポートされている論理演算子は次のとおりです。変数aが10を保持し、変数bが20を保持すると仮定します。

[例を表示]

オペレーター 説明
および論理積 両方のオペランドが真の場合、条件は真になります。 (aとb)は真です。
または論理OR 2つのオペランドのいずれかがゼロ以外の場合、条件は真になります。 (aまたはb)は真です。
論理的ではないNOT オペランドの論理状態を逆にするために使用されます。 Not(aおよびb)はfalseです。

Pythonメンバーシップ演算子

Pythonのメンバーシップ演算子は、文字列、リスト、タプルなどのシーケンスのメンバーシップをテストします。以下に説明するように、2つのメンバーシップ演算子があります-

[例を表示]

オペレーター 説明
指定されたシーケンスで変数が見つかった場合はtrueと評価され、それ以外の場合はfalseと評価されます。 x in y、ここでは、xがシーケンスyのメンバーである場合、結果は1になります。
ありませんで 指定されたシーケンスで変数が見つからない場合はtrueと評価され、それ以外の場合はfalseと評価されます。 xがyにない場合、xがシーケンスyのメンバーでない場合、ここでは1になりません。

PythonID演算子

ID演算子は、2つのオブジェクトのメモリ位置を比較します。以下に説明する2つのID演算子があります-

[例を表示]

オペレーター 説明
です 演算子のいずれかの側の変数が同じオブジェクトを指している場合はtrueと評価され、そうでない場合はfalseと評価されます。 xはy、ここ is id(x)がid(y)と等しい場合、結果は1になります。
ではありません 演算子のいずれかの側の変数が同じオブジェクトを指している場合はfalseと評価され、それ以外の場合はtrueと評価されます。 xはyではありません、ここ is not id(x)がid(y)と等しくない場合、結果は1になります。

Python演算子の優先順位

次の表に、すべての演算子を優先順位の高いものから低いものの順に示します。

[例を表示]

シニア番号 オペレーターと説明
1

**

べき乗(累乗)

2

~ + -

補数、単項プラスおよびマイナス(最後の2つのメソッド名は+ @および-@です)

3

* / % //

乗算、除算、モジュロおよびフロア除算

4

+ -

足し算と引き算

5

>> <<

左右のビット単位のシフト

6

&

ビット単位の「AND」

7

^ |

ビット単位の排他的論理和と通常の論理和

8

<= < > >=

比較演算子

9

<> == !=

等式演算子

10

= %= /= //= -= += *= **=

代入演算子

11

is is not

ID演算子

12

in not in

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

13

not or and

論理演算子