⑥Pythonの基本演算子

スポンサーリンク

本当にわからないとこがあった場合一人では解決できません。
『teratail』とはエンジニア特化型のQ&Aサイトです。 すべてのエンジニアさんが抱えている悩みを共有して 解決するための質問サイトです
無料なのでまずは登録して使ってみてください。メールアドレスだけで登録可能です ----------------------------------------------------------------------------------------

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
// Floor Division – 小数点以下の桁が削除される商を結果とするオペランドの除算。 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つのオペランドの値が等しくない場合、条件は真となります。
> 左オペランドの値が右オペランドの値より大きい場合、conditionはtrueになります。 (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と等価です。
/ =除算AND 左オペランドと右オペランドを除算し、結果を左オペランドに代入します c / = aはc = c / ac / = 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である。バイナリ形式では、次のようになります。

a = 0011 1100

b = 0000 1101

—————–

a&b = 0000 1100

a | b = 0011 1101

a ^ b = 0011 0001

〜a = 1100 0011

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

[ 表示例 ]
オペレーター 説明
& Binary AND 演算子は、両方のオペランドに存在する場合、結果にビットをコピーします。
(a & b) (means 0000 1100)
| Binary OR いずれかのオペランドに存在する場合は、それをコピーします。
(a | b) = 61 (means 0011 1101)
^ Binary XOR ビットが1つのオペランドに設定されている場合はそのビットをコピーしますが、両方をコピーすることはできません。
(a ^ b) = 49 (means 0011 0001)
~ Binary Ones Complement これは単項式であり、ビットを反転させる効果があります。
(~a ) = -61 (means 1100 0011 in 2’s complement form due to a signed binary number.
<< Binary Left Shift 左オペランドの値は、右オペランドで指定されたビット数だけ左に移動します。
a << 2 = 240 (means 1111 0000)
>> Binary Right Shift
左オペランドの値は、右オペランドで指定されたビット数だけ右に移動します。 a >> 2 = 15 (means 0000 1111)

Python論理演算子

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

[ 表示例 ]

オペランドの論理状態を反転するために使用します。

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

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

[ 表示例 ]
オペレーター 説明
in 指定したシーケンス内の変数を検出するとtrueに評価し、そうでない場合はfalseを返します。 x in y、ここでは、xがシーケンスyのメンバーであれば1になります。
not in
指定されたシーケンス内の変数が見つからない場合はtrueに、それ以外の場合はfalseに評価されます。 xが配列yのメンバーでない場合は、1になります。

Pythonアイデンティティ演算子

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

[ 表示例 ]
オペレーター 説明
is 演算子の両側の変数が同じオブジェクトを指している場合はtrue、それ以外の場合はfalseと評価されます。 xがyである場合。id(x)がid(y)と等しい場合
is not
演算子の両側の変数が同じオブジェクトを指す場合はfalse、それ以外の場合はfalseを評価します。 xがyでない場合、id(x)がid(y)と等しくない場合

Python演算子の優先順位

次の表は、すべての演算子を優先順位の高い順にリストしています。

[ 表示例 ]
オペレーター 説明
** 累乗(累乗)
〜+ – 補数、単項プラスとマイナス(最後の2つのメソッド名は+ @と – @です)
* /%// 乗算、除算、モジュロ、フロア分割
+ – 加算と減算
>> << 左右のビットシフト
& ビット単位のAND
^ | ビットごとの排他的論理和と論理和の論理和
<= <>> = 比較演算子
<> ==!= 等価演算子
=%= / = // = – = + = * = ** = 代入演算子
is is not ID演算子
in not in
メンバーシップオペレータ
not or and 論理演算子



前のページ⑤Pythonの変数の型

次のページ⑦

スポンサーリンク

プログラミングは独学からは挫折の可能性が高いです。まずは無料体験ができる
コードキャンプが本当におすすめ。無料体験でわからないところを聞きましょう。
転職補助つき。カリキュラム終了後に転職紹介をしてくれます。