Python: 演算子の一覧
Pythonの演算子一覧です。
目次
比較演算子(== != <= ...)
演算子 | 意味 |
---|---|
== | 等値 |
!= | 不等値 |
< | 小なり |
<= | 小なりイコール |
> | 大なり |
>= | 大なりイコール |
in | 左辺が右辺に存在する |
not in | 左辺が右辺に存在しない |
is | 左辺と右辺が同一のオブジェクト |
is not | 左辺と右辺が同一オブジェクトでない |
ありがちな記述ミス
比較演算子でプログラミング初心者がやりがちなミスは次の2つです。
- 「==(等値演算子)」をうっかり「=(代入演算子)」と書いてしまう。
- 「<=」と「>=」の順番をまちがえて「=>」と「=<」のように「=」記号を先に書いてしまう。
in演算子
in演算子はリストなどのコレクション内に、
特定の要素が存在するかどうかを調べる場合に使用します。
次のサンプルコードでは
配列arrの要素に変数nと同じ値が存在するかどうかを調べています。
arr = [1, 2, 3] n = 2 if n in arr: print("True") else: print("False") # 実行結果 True
算術演算子(+ - * / ...)
演算子 | 意味 |
---|---|
+ | 加算 |
- | 減算 |
* | 乗算 |
** | べき乗 |
/ | 除算 |
// | 除算(小数点は切り捨て) |
% | 余り(除算の余り) |
除算、「/」と「//」の違い
Pythonには除算を行うための演算子が2つあります。 「/」は小数点以下の値まで取得できますが、 「//」は小数点部分は切り捨てられます。
print(5 / 4) # 1.25 print(5 // 4) # 1
どちらもゼロで割るとエラーになるので注意してください。
除算の余りを求める「%」
除算の余りを知りたい場合は「%」を使います。
print(5 % 4) # 1 print(9 % 5) # 4
アルゴリズムで除算の余りを用いて
ロジックを構築することがあり、結構重宝する演算子です。
「%」も0で割るとエラーになります。
ビット演算子(& | ...)
演算子 | 意味 |
---|---|
~ | ビット反転 |
& | AND |
| | OR |
^ | XOR |
<< | 左シフト |
>> | 右シフト |
代入演算子(= += -= ...)
演算子 | 意味 |
---|---|
= | 右辺の値を左辺に代入 |
+= | 左辺=左辺 + 右辺 |
-= | 左辺=左辺 – 右辺 |
*= | 左辺=左辺 * 右辺 |
/= | 左辺=左辺 / 右辺 |
%= | 左辺=左辺 % 右辺 |
**= | 左辺=左辺 ** 右辺 |
//= | 左辺=左辺 // 右辺 |
|= | 左辺=左辺 | 右辺 |
^= | 左辺=左辺 ^ 右辺 |
<<= | 左辺=左辺 << 右辺 |
>>= | 左辺=左辺 >> 右辺 |
Pythonには「++」や「--」がありません。 代わりに「+=」「-=」を使って、「a += 1」「a -= 1」のように記述します。
論理(ブール)演算子(and or not)
演算子 | 意味 |
---|---|
and | 論理積 |
or | 論理和 |
not | 否定 |
論理演算子はif文の条件式で使われること多い演算子です。
andとorは条件式が2つ以上ある場合に使い、
notは論理値(True/False)をひっくり返す(逆にする)場合に使います。
and、or、notのそれぞれの意味を見ていきます。
# aが10で、かつbが20の場合 if a == 10 and b == 20: # aが10、又はbが20の場合 if a == 10 or b == 20: # aが10でない場合 if not(a == 10):
余談ですが、論理演算子の名前の由来について。
条件式は最終的にTrue/Falseの論理値に置き換わります。
ですから「True and True」や「True or False」のようにand・or・notの演算対象は
論理値(True/Flase)になります。
論理値に対して演算を行うことから「論理演算子」と言われています。
文字列演算子(+ * [] ...)
演算子 | 意味 |
---|---|
+ | 連結 |
* | 繰り返し |
[n] | i番目 |
[n:m] | n番目からm番目まで |
[:m] | 最初からm番目まで |
[n:] | n番目から最後まで |
[n:m:s] | n番目からm番目まで、ステップ数s |
三項演算子(条件演算)(if else)
変数 = 「Trueの場合の値」 if 「条件」 else 「Falseの場合の値」
三項演算子(条件演算)の具体例
s = "high" if a > 50 else "low"
上の条件演算は下の if else文と同じ意味です。
if a > 50: s = "high" else: s = "low"