Pythonの演算子には、どんなものがあるんだろう……
Pythonの演算子を使いこなすために、使い方を知りたい……
プログラミングをする上で、値の代入や比較、計算などを行うときにはさまざまな演算子を使用します。ただ、演算子の種類が多くいまいち覚えられないという方もいるのではないでしょうか。
この記事では、Pythonの演算子の種類・使い方について解説します。具体的なサンプルコードを元に使い方を解説するので、「これまであまり理解できなかった……」という方にもおすすめです!
本記事を読む前に、Pythonがどんなプログラミング言語なのかをおさらいしておきたい人は次の記事を参考にしてください。
→ Pythonとは?特徴やできること、活用例をわかりやすく簡単に解説
なお、その他のPythonの記事についてはこちらにまとめています。
Pythonの演算子一覧
まず、Pythonの演算子を一覧表で見てみましょう。演算子と一口に言っても、その種類は多岐にわたります。
以下はPythonで主に使用する演算子の種類です。
演算子 | 説明 |
---|---|
代数演算子 | 算術演算子とも言う。四則演算や除算、剰余などを行う |
代入演算子 | 変数の値を別の変数に代入する |
ビット演算子 | 整数値や特定のビットの評価を行う |
比較演算子 | 2つの値を比較する |
論理演算子 | 真偽値を返す |
文字列演算子 | 文字列の結合、代入を行う |
1つずつ、演算子の使い方を見ていきましょう。
Pythonの演算子の使い方
ここからは、先ほど紹介した以下7つの演算子について、1つずつ解説していきます。
- 代数演算子
- 代入演算子
- ビット演算子
- 比較演算子
- 論理演算子
- 文字列演算子
- 複合代入演算子
演算子の概要、サンプルコード、実行結果の流れですべて解説していきますね。
代数演算子
まず、「代数演算子」について解説します。代数演算子は、数値の演算をするときにつかう演算子です。
たとえば、以下のように四則演算する際に使います。
- 加算(足し算)
- 減算(引き算)
- 乗算(掛け算)
- 除算(割り算)
また、剰余、累乗などの計算を行うときにも使います。「算術演算子」と呼ぶこともあるので、覚えておきましょう。
それぞれ、サンプルコードと実行結果を見ていきましょう。
加算
サンプルコード:
a = 10 + 5 b = 10 c = a + b #実行結果の表示 print(c)
実行結果:
25
減算
a = 10 - 5 b = 10; c = a - b #実行結果の表示 print(c)
実行結果:
-5
乗算
a = 10 * 5 b = 10 c = a * b #実行結果の表示 print(c)
実行結果:
500
除算
a = 100 / 5 b = 5 c = a / b #実行結果の表示 print(c)
実行結果:
4.0
剰余
a = 10 % 3 #実行結果の表示 print(a)
実行結果:
1
累乗
a = 10 ** 3 #実行結果の表示 print(a)
実行結果:
1000
代入演算子
次に、「代入演算子」について解説します。代入演算子は、「a = b」のように”=”を使用して、左オペランドに右オペランドの式や値を代入します。
プログラミング言語によっては、条件式で「if a = b」のように使用されることもあります。サンプルコードは、以下の通りです。
サンプルコード:
# 数値を代入 b = 10 # 値を代入 a = b print('a = b:' + str(a)) # 式を代入 a = (b + 5) / 3 print('a = (b + 5) / 3:' + str(a)) # 文字列を代入 str = "abcde" print('str = "abcde":' + str)
実行結果:
a = b:10 a = (b + 5) / 3:5.0 str = "abcde":abcde
ビット演算子
次に、「ビット演算子」について解説します。ビット演算子は、整数値やビットなどの評価や操作を実施するときに行う演算子です。
ビットとは、コンピューターが扱う情報量の最小単位のことで、ビットは8ビットの組で1バイトとなります。
ビット演算子:
演算子 | 式 | 説明 |
---|---|---|
ビット積 | $a & $b | $aと$bの両方のビットがセットされていると1、されていないと0 |
ビット和 | $a | $b | $a または $b のどちらかにセットされていると1、されていないと0 |
排他的論理和 | $a ^ $b | $a または $b のどちらか一方にセットされていると1、両方がセットまたはセットされていないと0 |
否定 | ~$a | $a の各ビットがセットされている場合は0、セットされていないと1 |
左シフト | $a << $b | $a のビットを左に $b ビットシフトする。各シフトは2をかけることを意味します。 |
右シフト | $a >> $b | $a のビットを右に $b ビットシフトする。各シフトは2を割ることを意味します。 |
少しわかりにくいので、ビット積のサンプルコードを見てみましょう。
サンプルコード:
a = 0b10001 b = 0b10101 result = bin(a & b) #結果を表示 print(result)
実行結果:
0b10001
この例では、「0b10001」と「0b10101」をビット積した結果を表示しています。そのためbが1でも、aが0のビットは0となっています。
このようにビットを扱う計算をするときに、ビット演算子を使います。
比較演算子
次に、「比較演算子」について解説します。比較演算子は、2つの値を比較するときに使用する演算子です。
比較演算子は値の等しい、等しくない、より少ない、より大きいなど、さまざまな種類があります。
式 | 説明 |
---|---|
a == b | 等しい |
a != b | 等しくない |
a <> b | 等しくない |
a < b | より少ない |
a > b | より多い |
a <= b | より少ないか等しい |
a >= b | より多いか等しい |
a in b | aにbが含まれる |
a not in b | aにbが含まれない |
こちらもサンプルコードを見てみましょう。
サンプルコード:
a = 10 b = 15 if a == b: print("aとbの値は一致しています") else: print("aとbの値は違います")
実行結果:
aとbの値は違います
この例では、aに10、bに15を入れており、if文で「aとbが等しかったら」という条件を入れています。そのためelse以降の処理が実行され、「aとbの値は違います」と表示されています。
比較演算子は、プログラムを組むときによく使います。以下で詳しく解説しているので、ぜひ参考にしてみてください。
論理演算子
次に、「論理演算子」について解説します。論理演算子は、比較演算子を組み合わせてより条件を複雑にしたいときに使用する演算子です。
例えば、右辺の条件式と、左辺の条件式を同時に評価したいときなどに使用されます。
式 | 説明 |
---|---|
a and b | aとbが真の場合に真 |
a or b | aかbのどちらかが真の場合に真 |
not | aが真の場合に偽、偽の場合に真 |
こちらもサンプルコードを見てみましょう。
サンプルコード:
a = 10 #論理積(and) if a > 5 and a < 15: print("左辺の条件式と右辺の条件式がTRUE") #論理和(or) if a > 5 or a < 5: print("左辺の条件式と右辺のどちらかがTRUE")
実行結果:
左辺の条件式と右辺の条件式がTRUE 左辺の条件式と右辺のどちらかがTRUE
以下でも詳しく解説しているので、ぜひ参考にしてみてください。
文字列演算子
次に、「文字列演算子」について解説します。文字列演算子は、「+」で文字列を連結する方法や、「*」で文字列を繰り返す処理などがあります。
以下に文字列の演算子を使用する方法を記述します。
サンプルコード:
str1 = "Samurai" str2 = "Engineer" print(str1 + str2) # 文字列の結合 print(str1 * 3) # 指定した文字列分繰り返す print(str1[3]) # 指定した位置の文字列を取り出す print(str1[1:3]) # 指定した範囲の文字列を取り出す
実行結果:
SamuraiEngineer SamuraiSamuraiSamurai u am
文字列を使ったプログラムを組むケースはよくあります。文字列演算子をはじめとする文字列操作については、以下でも詳しく解説しています。
ぜひ参考にしてみてください。
複合代入演算子
次に、「複合代入演算子」について解説します。プログラミングをするときは、「A = A + 1」のように同じ変数に値を入れたいときがよくあります。
このような場合に便利なのが、複合代入演算子です。次のように加算、減算、乗算、除算などを演算子だけで表現できるのです。
サンプルコード:
a = 10 b = 10 c= 10 d = 10 #加算子 a += 1 #「a = a + 1」と同じ print(a) #減算子 b -= 1 #「b = b - 1」と同じ print(b) #乗算子 c *= 5 #「c = c * 5」と同じ print(c) #除算子 d /= 2 #「d = d / 2」と同じ print(d)
実行結果:
11 9 50 5.0
他にも、文字列で複合代入演算子を使うことも可能です。たとえば、次のように加算、減算、積算などができます。
サンプルコード:
a = "Thank" b = " you " #加算子 a += b #「a = a + b」と同じ print(a) #乗算子 a *= 5 #「a = a * 5」と同じ print(a)
実行結果:
Thank you Thank you Thank you Thank you Thank you Thank you
ちなみに、減算と除算は文字列ではできません。複合代入演算子に限らず、「a = a – ” you “」のように計算ができないからです。
ここまで、7つの演算子について解説してきました。これ以外にも変わり種として、「三項演算子」があります。
次に、Pythonの三項演算子の特徴や使い方について解説します。
Pytnonの三項演算子とは?
三項演算子とは、条件分岐を一文で表現する方法です。たとえば、以下のようなif文があったとします。
サンプルコード:
if n == 1: message = "こちらが正解!" else : message = "残念、失敗!"
これを以下のように一文で表現したのが、三項演算子です。
サンプルコード:
message = "こちらが正解!" if n == 1 else "残念、失敗!"
「if文があるなら、別におぼえなくてもいいのでは?」と思ったかもしれませんが、覚えておくのがおすすめです。なぜなら、チーム開発時に誰かが三項演算子でコードを書いていることがあるからです。
三項演算子については、以下で詳しく解説しています。ぜひ参考にしてみてくださいね。
まとめ
今回は、Pythonで使える演算子について解説しました。演算子はPythonに限らず、プログラミングをする上で必須知識です。
とはいえ知識を学ぶだけでは覚えづらいので、コードを実際に書いて動かしてみるのがおすすめです。Pythonでは使用できる演算子がたくさんありますので、それぞれの使い方についてよく理解しておきましょう。
もし、演算子の使い方を忘れてしまったら、この記事を思い出してくださいね!