Pythonの比較演算子とは?基本からif文での応用までわかりやすく解説!

2025年4月23日水曜日

Python

この記事では、Pythonの比較演算子の使い方について、初心者でもスッキリわかるように解説していきます!

プログラミングをしていると、「もし○○だったら、こう動いてほしい!」という場面がたくさん出てきますよね。そんなときに大活躍するのが比較演算子なんです。

この記事で学べること

  • 比較演算子の種類と意味がわかる
  • 基本的な比較演算子の書き方が身につく
  • if文を使った条件分岐ができるようになる
  • よくあるエラーの原因と対処法がわかる

比較演算子はPythonプログラミングの基礎のキソ。ちょっと難しそう…と感じるかもしれませんが、この記事を読めば「なーんだ、そういうことか!」ときっと腑に落ちるはず。


Pythonの比較演算子とは?プログラムを賢くする基本の道具

比較演算子というのは、一言でいうと2つの値を「比べる」ための記号です。

例えば、「5は3より大きい?」とか「入力されたパスワードは登録されているものと同じ?」といった比較を行います。

プログラムは、この比較の結果が「正しい(True)」か「間違っている(False)」かによって、次に何をするかを決めます。

ゲームで「スコアが100点を超えたらクリア画面を表示する」とか、ウェブサイトで「IDとパスワードが一致したらログインを許可する」といった動きは、すべて比較演算子のおかげなんです。

つまり、比較演算子はプログラムに「判断力」を与えるための道具と言えるでしょう。地味に見えるかもしれませんが、プログラムを賢く動かすためにはなくてはならない存在なのです。

Python比較演算子の種類一覧 - まずは基本の6つを覚えよう

Pythonでよく使う比較演算子は、主に以下の6つです。まずは顔と名前(記号と意味)を覚えちゃいましょう!

  • == (イコールイコール) → 左と右が等しい場合に True
  • != (ノットイコール) → 左と右が等しくない場合に True
  • > (大なり) → 左が右より大きい場合に True
  • < (小なり) → 左が右より小さい場合に True
  • >= (大なりイコール) → 左が右以上の場合に True
  • <= (小なりイコール) → 左が右以下の場合に True

記号が2つ続くもの(==, !=, >=, <=)は、2つの記号の間にスペースを入れないように気をつけてくださいね。

比較演算子の基本的な使い方

それでは、実際にPythonのコードで比較演算子がどのように使われるか見てみましょう。print()関数を使うと、比較の結果(TrueかFalse)を表示できます。

# 数値の比較
print(5 == 5)  # 5と5は等しい?
print(10 > 3)  # 10は3より大きい?
print(1 <= 1) # 1は1以下?
print(7 != 8)  # 7と8は等しくない?

これを実行すると、どうなるでしょうか?

True
True
True
True

すべて「True(正しい)」と表示されましたね。このように、比較演算子は2つの値を比べて、その結果をTrueかFalseで返してくれます。簡単でしょう?

等しいか等しくないか判定する == と != の使い方

まずは「等しいか」をチェックする==(イコールイコール)と、「等しくないか」をチェックする!=(ノットイコール)です。

一番間違えやすいのが、=(イコール1つ)との違いです。=は「代入」といって、変数に値を入れるときに使います(例 age = 20)。一方、==は「比較」で、左右の値が同じかを確認します。

# 数値での比較
print(100 == 100) # True
print(100 == 99)  # False

# 文字列での比較
print("apple" == "apple")   # True
print("apple" == "orange")  # False
print("apple" == "Apple")   # False (大文字と小文字は区別される!)

# 等しくないかの比較
print(50 != 50)   # False (等しいから)
print(50 != 100)  # True (等しくないから)
print("banana" != "grape") # True

文字列を比較する場合、大文字と小文字は別の文字として扱われる点に注意しましょう。

大小関係を比較する > < >= <= の使い方

次に、値の大きさ(大小関係)を比較する4つの演算子です。

  • > 左が大きい
  • < 左が小さい
  • >= 左が右以上(大きいか等しい)
  • <= 左が右以下(小さいか等しい)

これも数値で見てみましょう。

score = 85

# scoreは80より大きい?
print(score > 80)  # True

# scoreは90未満?
print(score < 90)  # True

# scoreは85以上? (>= は「以上」)
print(score >= 85) # True (85と等しいのでTrue)

# scoreは80以下? (<= は「以下」)
print(score <= 80) # False

>=<=のように「=」が付くと、「その値ちょうど」の場合もTrueになると覚えておきましょう。

比較演算子の実践的な使い方 if文で条件分岐を学ぼう

比較演算子の使い道として最もポピュラーなのが、if文と組み合わせた条件分岐です。if文は、「もし(if)条件がTrueだったら、この処理を実行する」という命令を書くための構文です。

例えば、「もし年齢が20歳以上なら、お酒の購入を許可する」といった処理が書けるようになります。比較演算子がTrue/Falseを判定し、if文がその結果に応じて処理を振り分ける、という連携プレーですね。

# 年齢をチェックする簡単な例
age = 22

if age >= 20: # 年齢が20以上かどうか比較
  print("お酒の購入が可能です。")
else: # そうでなければ (20歳未満なら)
  print("未成年の方はお酒を購入できません。")

# 実行結果
# お酒の購入が可能です。

このように、比較演算子を使うことで、状況に応じた処理の実行が可能になります。

基本的なif文と比較演算子の組み合わせ

if文の基本的な形は以下の通りです。

if 条件式1:
  # 条件式1がTrueのときの処理
elif 条件式2:
  # 条件式1がFalseで、条件式2がTrueのときの処理
else:
  # すべての条件式がFalseのときの処理

elifは「else if」の略で、複数の条件を順番にチェックしたいときに使います。いくつでも追加可能です。elseは、どのifelifの条件にも当てはまらなかった場合に実行され、省略することもできます。

条件式の部分に、比較演算子を使った式を書くのが一般的です。

# 点数に応じてメッセージを変える例
score = 75

if score == 100:
  print("満点です!素晴らしい!")
elif score >= 80:
  print("高得点!よくできました!")
elif score >= 60:
  print("合格です。もう少し頑張りましょう。")
else:
  print("残念ながら不合格です。")

# 実行結果
# 合格です。もう少し頑張りましょう。

インデント(行頭のスペース)が非常に重要です。if, elif, elseの後の処理は、必ずインデントを付けてくださいね。普通は半角スペース4つを使います。

複数の条件を組み合わせる and or not の使い方

「条件Aも条件Bも満たす場合」や「条件Aまたは条件Bを満たす場合」のように、複数の条件を組み合わせたい場面もよくあります。そんなときは論理演算子and, or, notを使います。

  • A and B AもBも両方TrueのときだけTrue
  • A or B AかBのどちらか一方でもTrueならTrue
  • not A AがFalseならTrue、AがTrueならFalse (結果を反転)
# 例: 身長と年齢でアトラクションに乗れるか判定
height = 150 # 身長(cm)
age = 10     # 年齢

# 条件 身長130cm以上 かつ 年齢8歳以上
if height >= 130 and age >= 8:
  print("アトラクションをご利用いただけます。")
else:
  print("申し訳ありませんが、ご利用いただけません。")

# 実行結果
# アトラクションをご利用いただけます。

# 例: 平日または週末割引があるか
is_weekday = False # 平日かどうか
has_coupon = True # クーポンを持っているか

# 条件 平日 または クーポンを持っている
if is_weekday or has_coupon:
  print("割引が適用されます。")
else:
  print("通常料金です。")

# 実行結果
# 割引が適用されます。

andorを組み合わせることもできますが、その場合は括弧()を使って、どちらの条件を優先して評価するかを明確にすると読みやすくなります。(例 (A and B) or C

比較演算子を使いこなす応用テクニック

比較演算子は数値だけでなく、文字列やリストといった他のデータ型にも使えます。ただし、数値とは少し違うルールがあるので、ここで確認しておきましょう。

文字列の比較 辞書順の仕組みと注意点

文字列同士を比較演算子で比べると、辞書に載っている順番(辞書順)で大小が判断されます。アルファベットならa, b, c...の順、日本語なら、あ, い, う...の順です。

print("apple" < "banana") # True ('a'は'b'より前)
print("cat" > "car")    # True ('t'は'r'より後)
print("inu" == "inu")   # True

# 注意点
print("Apple" == "apple") # False (大文字と小文字は区別される)
print("A" < "a")        # True (一般的に大文字は小文字より小さいとされる)

大文字と小文字は厳密に区別されるため、"Apple""apple"は違うものとして扱われます。もし大文字・小文字を区別せずに比較したい場合は、.lower()メソッドなどを使って、比較する前にすべて小文字に変換する、といった工夫が必要になります。

word1 = "Apple"
word2 = "apple"

# そのまま比較
print(word1 == word2) # False

# 小文字に変換してから比較
print(word1.lower() == word2.lower()) # True

リストやタプルの比較はどうなる?要素ごとの比較ルール

リストやタプル(複数の値を順番に格納するデータ型)同士を比較すると、先頭の要素から順番に比較されていきます。そして、最初に大小関係が決まった要素の比較結果が、リスト全体の比較結果となります。

list1 = [1, 2, 3]
list2 = [1, 3, 0]
list3 = [2, 0, 0]
list4 = [1, 2, 3]

print(list1 < list2) # True (2番目の要素 2 < 3 で決まる)
print(list1 < list3) # True (1番目の要素 1 < 2 で決まる)
print(list1 == list4) # True (すべての要素が等しい)
print(list1 >= list4) # True (等しい場合もTrue)

# 要素数が違う場合
list5 = [1, 2]
print(list1 > list5) # True (要素数が多い方が大きいとされる傾向がある)

すべての要素が等しい場合は==がTrueになります。要素のデータ型が異なると、比較できずにエラーになる場合があるので注意が必要です。(例 [1, 2] < ["a", "b"] はエラーになる可能性があります)

比較演算子で陥りやすいミスと解決策

比較演算子は便利ですが、いくつか初心者がハマりやすい落とし穴があります。ここでよくあるミスとその対処法を見ておきましょう。

1. 代入演算子 `=` と比較演算子 `==` の混同

これは本当に多いミスです!if文の条件式などで、比較するつもりがうっかり=を1つだけ書いてしまうパターンです。

# 間違いやすい例
my_age = 30
# if my_age = 30: # これは代入なのでエラーになるか、意図しない動きになる!
#   print("OK")

# 正しい書き方
if my_age == 30: # 比較は必ず == を使う
  print("OK")

解決策
比較するときは必ず==(イコール2つ)を使う、と強く意識しましょう。エラーが出たら、まずここを疑ってみてください。

2. データ型の違いによるエラー

数値と文字列のように、違うデータ型のものを比較しようとするとエラーになることがあります。

# エラーになる例
age_str = "20" # これは文字列
# print(age_str >= 20) # 文字列と数値を比較しようとしてエラー!

解決策
比較する前に、データ型を揃える必要があります。例えば、文字列の数字を数値に変換するにはint()を使います。

age_str = "20"
age_num = int(age_str) # int()で文字列を整数に変換
print(age_num >= 20)   # True (数値同士で比較できる)

エラーメッセージをよく読むと、「TypeError」のように型に関するエラーだと示唆されていることが多いので、ヒントにしましょう。

【まとめ】Pythonの比較演算子をマスターしてプログラミングを加速しよう

今回は、Pythonの比較演算子について、基本的な種類からif文での使い方、応用、注意点までを見てきました。最後にポイントを整理しておきましょう。

  • 比較演算子は2つの値を比べてTrue/Falseを返す記号(==, !=, >, <, >=, <=)。
  • if文と組み合わせることで、条件に応じた処理の分岐ができる。
  • and, or, notを使えば、複数の条件を組み合わせられる。
  • 数値だけでなく、文字列(辞書順)やリスト(要素ごと)も比較できる。
  • ===の混同や、データ型の違いによるエラーに注意する。

比較演算子は、プログラムに「考える力」を与えるための、とても基本的な仕組みです。マスターすれば、作れるプログラムの幅がぐんと広がりますよ!

次に学ぶこととしては、

  • 繰り返し処理(for文、while文)と比較演算子の組み合わせ
  • 関数を作って、その中で比較演算子を使う

などに挑戦してみると、さらに理解が深まるでしょう。ぜひ、色々なコードを書いて、比較演算子と仲良くなってくださいね!応援しています!

【関連記事】 「Pythonとは?」に答える最初の一歩

このブログを検索

  • ()

自己紹介

自分の写真
リモートワークでエンジニア兼Webディレクターとして活動しています。プログラミングやAIなど、日々の業務や学びの中で得た知識や気づきをわかりやすく発信し、これからITスキルを身につけたい人にも役立つ情報をお届けします。 note → https://note.com/yurufuri X → https://x.com/mnao111

QooQ