カテゴリ: Python 更新日: 2025/12/12

Pythonで文字列を比較する方法!==・!=・大小比較の基本を解説

Pythonで文字列を比較する方法!==・!=・大小比較の基本を解説
Pythonで文字列を比較する方法!==・!=・大小比較の基本を解説

先生と生徒の会話形式で理解しよう

生徒

「Pythonで、2つの文字列が同じかどうかを調べる方法ってありますか?」

先生

「はい、Pythonでは==という記号を使って、文字列を簡単に比較できますよ。」

生徒

「へぇ、記号を使うんですね!違う文字列のときはどうするんですか?」

先生

「そのときは!=を使います。では、これからPythonでの文字列比較の基本を一緒に学んでいきましょう!」

1. Pythonで文字列を比較する基本:==(等しい)と!=(等しくない)

1. Pythonで文字列を比較する基本:==(等しい)と!=(等しくない)
1. Pythonで文字列を比較する基本:==(等しい)と!=(等しくない)

Python(パイソン)では、文字列(もじれつ)を比べたいとき、==(イコール2つ)と!=(びっくりマークとイコール)という記号を使います。

たとえば、名前が「Taro」と「Taro」なら同じなのでTrue(真)になります。違えばFalse(偽)になります。

以下の例を見てみましょう。


name1 = "Taro"
name2 = "Taro"
print(name1 == name2)  # 同じならTrue
print(name1 != name2)  # 違わないのでFalse

True
False

==は、「左右の文字列がまったく同じか?」を調べる演算子(えんざんし)です。演算子とは、計算や比較をするための記号のことです。

!=は、「左右の文字列が違うかどうか?」を調べます。たとえば、「apple」と「orange」は違うので、!=を使えばTrueになります。

2. 文字列の大小を比べる:<(より小さい)や >(より大きい)

2. 文字列の大小を比べる:<(より小さい)や >(より大きい)
2. 文字列の大小を比べる:<(より小さい)や >(より大きい)

Pythonでは、文字列の「順番」も比べることができます。文字列はアルファベットの「辞書順(じしょじゅん)」で判断されます。

たとえば、「apple」は「banana」よりも辞書で先に出てくるので、小さいとみなされます。

次のコードを見てください。


print("apple" < "banana")  # True(辞書で先)
print("orange" > "grape")  # True(後に出る)

True
True

これはあくまで「文字の順番」で比べているので、計算の大小とはちょっと違います。数字を比べるときの大小比較と似ていますが、「文字列は辞書順」で判断されるという点を覚えておきましょう。

3. 大文字と小文字は区別される?

3. 大文字と小文字は区別される?
3. 大文字と小文字は区別される?

Pythonでは、英語の大文字(Upper case)小文字(Lower case)は違う文字として扱われます。

たとえば、「Apple」と「apple」は見た目は似ていますが、Pythonでは違う文字列と判断されます。


print("Apple" == "apple")  # False(違う文字列とみなされる)

False

このように、大小文字を正確にそろえないと==では一致しません。

どうしても大文字小文字を無視して比べたい場合は、lower()という文字列のメソッドを使って、小文字に変換してから比べる方法があります。


print("Apple".lower() == "apple".lower())  # True(両方小文字にして比較)

True

lower()は、すべての文字を小文字に変える命令です。「変換する」ことで、見た目が違っても中身が同じかをチェックできるようになります。

4. 日本語の文字列も比較できる?

4. 日本語の文字列も比較できる?
4. 日本語の文字列も比較できる?

Pythonでは、日本語の文字列も問題なく比較できます。

たとえば、「あい」と「あう」は異なる文字列ですし、「たろう」と「たろう」は同じと判断されます。


print("たろう" == "たろう")  # True
print("あい" < "あう")      # True(あいの方が先)

True
True

日本語でも==<などを使えば、正しく文字列の比較ができます。ただし、漢字や記号も含めると、順番が複雑になるので注意が必要です。

5. ユーザーから入力された文字と比べてみよう

5. ユーザーから入力された文字と比べてみよう
5. ユーザーから入力された文字と比べてみよう

実際のプログラムでは、キーボードから入力された文字列と、あらかじめ用意しておいた文字列を比べることもよくあります。

例として、パスワード認証のようなコードを見てみましょう。


password = "pass123"
user_input = input("パスワードを入力してください:")
if user_input == password:
    print("認証成功!")
else:
    print("パスワードが違います。")

パスワードを入力してください:pass123
認証成功!

input()は、キーボードから文字を入力できる関数です。入力された値が==で正しく一致すれば、「認証成功」と表示されます。

このように、文字列の比較はとても実用的で、Pythonプログラミングの基本として欠かせない技術です。

まとめ

まとめ
まとめ

Pythonでの文字列比較の基本をしっかり理解しよう

この記事では、Pythonで文字列を比較する方法について、==!=といった基本的な比較演算子から、 文字列の大小比較、大文字と小文字の違い、日本語文字列の比較まで、幅広く学んできました。 Pythonにおける文字列比較は、単に文字が同じかどうかを調べるだけでなく、 プログラムの分岐処理や条件判断の土台となる、とても重要な基礎知識です。 初心者の段階でここをしっかり理解しておくことで、後の学習がぐっと楽になります。

==は「まったく同じ文字列かどうか」を調べる演算子であり、 !=は「異なる文字列かどうか」を判定します。 この二つは、ユーザー入力のチェックや、設定値の確認、分岐条件の判定など、 Pythonプログラミングのあらゆる場面で使われます。 文字列比較が正しくできないと、意図しない動作やバグにつながるため、 基本を丁寧に押さえることが大切です。

文字列の大小比較と辞書順の考え方

Pythonでは、文字列に対して<>を使った大小比較も行えます。 この比較は、数値の大小とは異なり、「辞書順」によって判断される点がポイントでした。 アルファベットの場合は、辞書で先に出てくる単語ほど小さいと判断されます。 この仕組みを理解しておくことで、文字列の並び替えや条件分岐の処理を正しく書けるようになります。

また、日本語の文字列もPythonでは問題なく比較できますが、 ひらがな、カタカナ、漢字、記号が混ざると順序が直感と異なる場合もあります。 そのため、日本語の大小比較は「完全な順序を保証するものではない」という点を理解したうえで、 用途を限定して使うのが安全です。

大文字と小文字をそろえて比較する重要性

Pythonでは、大文字と小文字は別の文字として扱われます。 そのため、「Apple」と「apple」は異なる文字列となり、==ではFalseになります。 ユーザー入力を扱う場面では、この違いが原因で意図しない判定結果になることも少なくありません。

そのような場合に役立つのが、lower()upper()といった文字列メソッドです。 事前に文字列を小文字や大文字にそろえてから比較することで、 表記の違いを吸収し、より柔軟で使いやすい判定処理が書けるようになります。 これは実務でも非常によく使われるテクニックです。

文字列比較を活用したサンプルプログラム

ここで、文字列比較の基本を活かしたシンプルなサンプルプログラムを確認してみましょう。 ユーザー入力を受け取り、大文字小文字を無視して比較する例です。


answer = "Python"
user_input = input("好きな言語を入力してください:")

if user_input.lower() == answer.lower():
    print("一致しました")
else:
    print("一致しません")

このように、文字列を比較する前に加工することで、 ユーザーにとって使いやすく、判定ミスの少ないプログラムを作ることができます。 文字列比較は小さな処理ですが、積み重ねることで大きな違いを生み出します。

先生と生徒の振り返り会話

生徒「文字列の比較って、思っていたよりも奥が深いですね。」

先生「そうだね。特に大文字と小文字、辞書順の考え方は大事なポイントだよ。」

生徒「lowerを使えば、入力の違いを気にしなくていいのが便利だと思いました。」

先生「いいところに気づいたね。実際のプログラムでもよく使われる方法だよ。」

生徒「文字列比較が分かると、条件分岐が書きやすくなりました。」

先生「その通り。文字列比較はPythonの基礎として、これからも何度も使う重要な技術だよ。」

カテゴリの一覧へ
新着記事
New1
Django
Djangoプロジェクトのディレクトリ構造を完全解説!初心者でも迷わないフォルダの見方
New2
Flask
Flask×Flask-SocketIOでチャットアプリを作る流れを初心者向けにやさしく解説
New3
Flask
Flaskアプリの作り方を基礎から学ぼう!初心者が覚えるべき開発の流れとは?
New4
Flask
Flask-WTFでファイルアップロードフォームを完全ガイド!初心者でもわかる画像やPDFのアップロード方法
人気記事
No.1
Java&Spring記事人気No1
Django
Django環境構築の全手順を完全解説!初心者でも迷わないPython・Djangoセットアップガイド
No.2
Java&Spring記事人気No2
Flask
Flask-Loginでユーザー認証を完全ガイド!初心者でもわかるログイン処理の作り方
No.3
Java&Spring記事人気No3
Python
Pythonの文字列を1文字ずつ処理する方法!for文やlist化の活用例
No.4
Java&Spring記事人気No4
Python
PythonでHello Worldを表示するには?初心者向けに最初の1行を実行してみよう
No.5
Java&Spring記事人気No5
Python
Pythonで定数を定義する方法!変更されない変数の書き方と命名ルールを初心者向けに解説
No.6
Java&Spring記事人気No6
Python
Pythonでリストを文字列に変換する方法を完全ガイド!初心者でもわかるjoinの使い方
No.7
Java&Spring記事人気No7
Flask
FlaskアプリをNginx + Gunicornで本番運用する方法!初心者でもわかるデプロイ構成の基本
No.8
Java&Spring記事人気No8
Python
Pythonのmatch文(パターンマッチング)とは?switch文の代替としての使い方をやさしく解説