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 baにbが含まれる
a not in baに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の値は違います」と表示されています。

比較演算子は、プログラムを組むときによく使います。以下で詳しく解説しているので、ぜひ参考にしてみてください。

【Python if文の基本編】条件分岐を3つのステップで簡単理解
更新日 : 2020年5月15日

論理演算子

次に、「論理演算子」について解説します。論理演算子は、比較演算子を組み合わせてより条件を複雑にしたいときに使用する演算子です。

例えば、右辺の条件式と、左辺の条件式を同時に評価したいときなどに使用されます。

説明
a and baとbが真の場合に真
a or baかbのどちらかが真の場合に真
notaが真の場合に偽、偽の場合に真

こちらもサンプルコードを見てみましょう。

サンプルコード:

a = 10
 
#論理積(and)
if a > 5 and a < 15:
    print("左辺の条件式と右辺の条件式がTRUE")
 
#論理和(or)
if a > 5 or a < 5:
    print("左辺の条件式と右辺のどちらかがTRUE")

実行結果:

左辺の条件式と右辺の条件式がTRUE
左辺の条件式と右辺のどちらかがTRUE

以下でも詳しく解説しているので、ぜひ参考にしてみてください。

【Python if文の応用編】or・and・not演算子の使い方を理解しよう
更新日 : 2019年7月31日

文字列演算子

次に、「文字列演算子」について解説します。文字列演算子は、「+」で文字列を連結する方法や、「*」で文字列を繰り返す処理などがあります。

以下に文字列の演算子を使用する方法を記述します。

サンプルコード:

str1 = "Samurai"
str2 = "Engineer"
 
print(str1 + str2)    # 文字列の結合
print(str1 * 3)       # 指定した文字列分繰り返す
print(str1[3])        # 指定した位置の文字列を取り出す
print(str1[1:3])      # 指定した範囲の文字列を取り出す

実行結果:

SamuraiEngineer
SamuraiSamuraiSamurai
u
am

文字列を使ったプログラムを組むケースはよくあります。文字列演算子をはじめとする文字列操作については、以下でも詳しく解説しています。

ぜひ参考にしてみてください。

Pythonの文字列の使い方とは?基本を解説【初心者向け】
更新日 : 2020年6月12日

複合代入演算子

次に、「複合代入演算子」について解説します。プログラミングをするときは、「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文があるなら、別におぼえなくてもいいのでは?」と思ったかもしれませんが、覚えておくのがおすすめです。なぜなら、チーム開発時に誰かが三項演算子でコードを書いていることがあるからです。

三項演算子については、以下で詳しく解説しています。ぜひ参考にしてみてくださいね。

【PHP入門】三項演算子とは?使いこなしてコードをスッキリする
更新日 : 2018年7月3日

まとめ

今回は、Pythonで使える演算子について解説しました。演算子はPythonに限らず、プログラミングをする上で必須知識です。

とはいえ知識を学ぶだけでは覚えづらいので、コードを実際に書いて動かしてみるのがおすすめです。Pythonでは使用できる演算子がたくさんありますので、それぞれの使い方についてよく理解しておきましょう。

もし、演算子の使い方を忘れてしまったら、この記事を思い出してくださいね!

LINEで送る
Pocket

「プログラミング、右も左もわからない…」という方にオススメ

当プログラミングスクール「侍エンジニア塾」では、これまで6000人以上のエンジニアを輩出してきました。

その経験を通してプログラミング学習に成功する人は、「目的目標が明確でそれに合わせた学習プランがあること」「常に相談できる人がそばにいること」「自己解決能力が身につくこと」この3つが根付いている傾向を発見しました。

侍エンジニア塾は上記3つの成功ポイントを満たすようなサービス設計に磨きをかけております。

cta_under_bnr

「自分のスタイルや目的に合わせて学習を進めたいな」とお考えの方は、ぜひチェックしてみてください。

書いた人

ヤマシタ

システムエンジニアとして10年勤務→フリーランスへ。現在は侍ブログ編集部としてこれまでに200記事以上の記事を執筆。
大規模システム開発からWebアプリ開発まで経験あり。最近ではPythonの機械学習に挑戦中。