比較演算子で条件をチェック
Pythonでプログラミングを行う際、何らかの条件を満たすかどうかを調べたい場面は非常に多くあります。たとえば、「AがBと等しいかを調べたい」「AがBよりも大きいかどうかチェックしたい」といった処理を実装する際に、比較演算子を使って条件を判断します。比較演算子は、値を比較してTrueもしくはFalseを返す仕組みであり、if文などの制御構文と組み合わせることで、プログラムの動きに分岐を与える重要な役割を担います。
本記事では、代表的な比較演算子である==
(等しい)、!=
(等しくない)、<
(より小さい)、>
(より大きい)などを中心に、数値や文字列の比較方法を解説します。初心者にもわかりやすいように基本から説明していきますので、ぜひ参考にしてみてください。
比較演算子とは
比較演算子とは、2つのオペランド(値)を比較して、比較結果に応じてブール値(True
またはFalse
)を返す演算子のことです。Pythonでよく使われる主な比較演算子を以下にまとめます。
==
: 左辺と右辺が等しい場合にTrue
、そうでなければFalse
!=
: 左辺と右辺が等しくない場合にTrue
、そうでなければFalse
<
: 左辺が右辺より小さい場合にTrue
<=
: 左辺が右辺より小さいか、等しい場合にTrue
>
: 左辺が右辺より大きい場合にTrue
>=
: 左辺が右辺より大きいか、等しい場合にTrue
これらを使うことで、数値や文字列、時にはリストやタプルなどのコレクション同士の比較を行うことができます。最もよく使うのは数値や文字列の比較ですが、比較対象となるオブジェクトによっては振る舞いが少し異なる場合もあるので、まずは基本をしっかり押さえましょう。
数値の比較
数値同士の比較は、プログラムにおいて非常に多用されるパターンです。たとえば、以下のように入力値が一定の値よりも大きいかどうかを判定して、その結果に基づき分岐処理を行うことが挙げられます。
number = 10
if number == 10:
print("numberは10と等しいです。")
else:
print("numberは10とは等しくありません。")
if number != 5:
print("numberは5とは等しくありません。")
else:
print("numberは5と等しいです。")
if number > 8:
print("numberは8より大きいです。")
else:
print("numberは8より小さいか、等しいです。")
if number < 20:
print("numberは20より小さいです。")
else:
print("numberは20以上です。")
上記コードのように、比較演算子を用いてさまざまな条件をチェックできます。結果は真偽値(True
またはFalse
)となり、if文で分岐させることで処理を細かく制御することが可能になります。
数値の比較では、演算子の前後に空白を入れたほうが可読性が向上します。Pythonのスタイルガイド(PEP 8)では演算子の周りにスペースを入れることが推奨されており、チーム開発などでも読みやすいコードを書く上で重要なポイントとなります。
文字列の比較
Pythonでは、文字列を比較演算子で比較することもできます。文字列同士の比較では、辞書順(Unicodeコードポイントの順序)での比較が行われます。たとえば以下のように、<
や>
演算子で文字列を比較する場合には、アルファベットのA~Zやa~zの順番に基づいて結果が出力されます。
str_a = "apple"
str_b = "banana"
if str_a == str_b:
print("二つの文字列は等しいです。")
else:
print("二つの文字列は異なります。")
if str_a < str_b:
print("appleはbananaより辞書順で前にあります。")
else:
print("appleはbananaより辞書順で前ではありません。")
if str_a > "app":
print("文字列appleはappより辞書順で後ろです。")
この例では、str_a
とstr_b
を直接==
や<
などで比較していますが、結果はブール値で返ってきます。==
演算子による文字列比較では、完全一致かどうかを調べることができます。また、!=
で不一致を確認する場合などもよく使われます。
ここで注意したいのは、大文字と小文字も区別される点です。たとえば”Apple”と”apple”は異なる文字列として扱われます。大文字小文字を区別せずに比較したい場合は、どちらかを小文字や大文字に変換したうえで比較するなどの工夫が必要です。
条件分岐との組み合わせ
比較演算子は、そのまま単独で使われることはあまりなく、多くの場合if文などと組み合わせて条件分岐を行います。以下のように、比較演算子の結果がTrue
のときに行う処理、False
のときに行う処理をif文で書き分けるのが一般的です。
score = 75
if score >= 90:
print("素晴らしい成績です!")
elif score >= 70:
print("合格ラインを超えています。")
else:
print("もう少し頑張りましょう。")
この例では、score >= 90
という条件がTrue
であれば一つ目の処理を、そうでなければ次のscore >= 70
を判定し、それもTrue
であれば二つ目の処理へ、それ以外は三つ目の処理を実行します。比較演算子は、プログラムが分岐して異なる処理を行う上で非常に重要なキーとなります。
また、複数の条件を一度にチェックしたい場合は、論理演算子(and
, or
, not
など)を組み合わせて使います。以下の例では、比較演算子と論理演算子を同時に用いる形を示しています。
age = 25
is_student = True
if age < 30 and is_student:
print("30歳未満の学生です。割引が適用されます。")
このように、比較演算子は他の演算子や構文と組み合わせることで、柔軟に条件を指定し、多様な場面で活躍します。
まとめ
本記事では、Pythonにおける基本的な比較演算子について解説しました。==
、!=
、<
、>
などは、プログラムの動きに分岐を与えるうえで欠かせない要素です。
==
,!=
を使うと、オブジェクト同士が等しいか等しくないかを判定できる<
,>
,<=
,>=
を使うと、大小関係を判定できる- 比較対象が数値であればそのまま大小関係を、文字列であれば辞書順を比較する
- 比較演算子の結果はブール値(
True
またはFalse
)となり、if文などで分岐処理に利用できる
多くの場合、条件分岐やループと組み合わせて利用されるため、比較演算子の動作原理を理解することは、プログラミングの基礎を固めるうえで非常に重要です。特に初心者のうちは、==
と=
の違いに注意しましょう。=
は代入演算子であり、==
は比較演算子という点を混同しないようにする必要があります。
この記事で紹介した内容を踏まえて、実際にPythonコードを書きながら学習を進めると理解が深まります。比較演算子を正しく使いこなし、柔軟な条件分岐ができるようになると、より複雑なプログラムを組めるようになるはずです。ぜひいろいろなサンプルを書いて動作を確かめてみてください。