🐍Pythonの条件式を完全マスター!比較・in・and/or/notの使い方

🐍 Pythonのif文、本当に使いこなせていますか?

Pythonを学び始めるとすぐに登場する if 文。書き方は簡単に見えても、いざ複雑な処理を書こうとすると「あれ、こういう条件ってどう書くんだっけ…?」と手が止まる瞬間が訪れます。

実は、Pythonで使う条件式の7〜8割はたった数種類のパターンでカバーできます。比較演算子、inand / or / not。この基本セットを押さえれば、どんなロジックも臆せず書けるようになり、コードレビューでも自信を持って説明できる自分に出会えます✨

📦 そもそも「条件式」って何?

条件式とは、「条件が満たされていれば True、満たされていなければ False」を返す式のこと。Pythonではこの True / False を持つ型を「ブール型(bool / 論理型)」と呼びます。

if 文は「条件式が True のときだけ次のブロックを実行してね」という命令。だから、条件式の書き方を知れば知るほど、プログラムで表現できる「判断」の幅が一気に広がっていくわけです🚀

🟰 等しい・等しくないを表す比較演算子

== でイコール判定

「同じかどうか」は = 1つではなく、== (イコール2つ)で表します。= 1つは代入、== は比較、と覚えておきましょう。

x = 10
result = (x == 10)
print(result)   # True

x = 11
print(x == 10)  # False

数値だけでなく、文字列やリストでも同じように使えます。

x = "apple"
print(x == "apple")  # True
print(x == "a")      # False(大文字小文字含めて完全一致が必要)

print([1, 2, 3] == [1, 2, 3])  # True
print([1, 2, 3] == [1, 2, 4])  # False

!= で「等しくない」を判定

逆に「同じではない」と書きたいときは、ビックリマーク(エクスクラメーション)と = を組み合わせた != を使います。

print(10 != 11)  # True
print(10 != 10)  # False

📏 大小を比べる比較演算子

数値の大小は山括弧で表現します。覚えるのは4種類だけです。

  • a >= b:a は b 以上か(≧)
  • a > b:a は b より大きいか(>)
  • a <= b:a は b 以下か(≦)
  • a < b:a は b 未満か(<)
a = 20
b = 20

print(a >= b)  # True(同じでもOK)
print(a > b)   # False(より大きい必要あり)
print(a < b)   # False
print(a <= b)  # True

「以上・以下」と「より大きい・未満」の境目は意外とミスしやすいポイント。等号を含むかどうかを意識すると、バグが激減します💡

🔍 in:含まれているかをチェックする

「ある値が文字列やリストの中に含まれているか」を判定したいときは in を使います。直感的で読みやすく、Python独特の書き味が気持ちいい構文です。

文字列の中の文字を探す

x = "a"
print(x in "apple")   # True

x = "A"  # 大文字
print(x in "apple")   # False(大文字小文字は区別される)

リストに要素が含まれるかチェック

fruits = ["apple", "banana"]

x = "apple"
print(x in fruits)    # True

x = "orange"
print(x in fruits)    # False

「含まれていない」を判定したいときは not in と書けばOK。たとえば "orange" not in fruitsTrue になります。

🔗 and / or で複数条件を組み合わせる

「年齢が20歳以上で、かつ女性」のように複数の条件を組み合わせたいときは andor の出番です。

and:両方の条件を満たすときだけTrue

age = 22
gender = "女性"

result = (age >= 20) and (gender == "女性")
print(result)  # True

age = 19
result = (age >= 20) and (gender == "女性")
print(result)  # False(年齢条件を満たさない)

「かつ」と訳して読むと、自然と頭に入ります。両方の条件が True でなければ全体も True になりません。

or:どちらか一方でも満たせばTrue

age = 19
gender = "女性"

result = (age >= 20) or (gender == "女性")
print(result)  # True(女性条件で True)

こちらは「または」と訳すと分かりやすい構文。片方だけでも条件が満たされていれば全体は True です。両方とも False のときだけ全体が False になります。

カッコは付けても付けなくてもOK

複数条件を書くとき、(age >= 20) and (gender == "女性") のようにカッコで囲むと意図が明確になり、レビュアーにも親切です。慣れないうちは積極的にカッコを使う方針がおすすめ👍

🚫 not で条件を反転させる

「○○ではないとき」と書きたいときは not を使います。条件式の TrueFalse をひっくり返してくれる、とても素直な演算子です。

age = 30
result = not (age >= 20)
print(result)  # False(中身がTrueなのでnotで反転しFalse)

age = 19
result = not (age >= 20)
print(result)  # True(中身がFalseなのでnotで反転しTrue)

否定形は読みにくくなりがちなので、「ぱっと見で意味がわかる書き方」を選ぶのがコツ。not (x == 10) よりも x != 10 のほうがスッキリ読めますよね。

📚 条件式の理解を加速させるおすすめ学習アイテム

条件式は理屈で覚えるよりも、手を動かして「動かしながら確かめる」のが一番。お気に入りの教材と快適な作業環境があれば、Python学習の継続率がグッと上がります。

📖 はじめてのPython本に最適

条件式・if文・ループといった基礎を、図解とサンプルで丁寧に解説してくれる定番の入門書。本稿の内容を体系的に補強したい方にぴったりです。

🐍 もう一段ステップアップしたい方へ

条件式を実務でどう活かすか、関数やクラスとどう組み合わせるかが学べる一冊。「動くコード」から「読みやすいコード」への橋渡しをしてくれます。

🧠 自動化スクリプトで条件式を活用したい方に

「ファイル名に特定の文字が含まれていたら処理を変える」など、if 文と条件式の使いどころが満載。学んだ知識をすぐ生活に応用したくなる名著です。

⌨️ 写経学習を快適にするキーボード

静かでスムーズな打鍵感とバックライトで、長時間のコーディングも快適。比較演算子の打ち間違えを減らしたい人にも、しっかりしたキータッチのキーボードはおすすめです。

🖥️ サンプルコードと実行結果を並べて見られるモニター

左にエディタ、右にREPLや解説ページを並べておくと、条件式の挙動を確認しながら学べます。USB-C一本で接続できるモデルなら、ノートPC学習者でもデスク周りがスッキリ整います。

❓ よくある質問(FAQ)

🤔 === の違いは?

= は変数に値を入れる「代入」、== は両辺が等しいかを調べる「比較」です。if x = 10: と書くとPythonでは構文エラーになるので、条件には必ず ==を使いましょう。

🆚 ==is はどう使い分ける?

== は「値が等しいか」、is は「同じオブジェクトか(メモリ上の同一性)」を判定します。値の比較なら ==None との比較などには is None を使うのが定石です。

📋 リスト同士の == は何を比較している?

要素の数と並び順、それぞれの値が完全一致しているかを比較します。[1, 2, 3] == [3, 2, 1]False なので注意してください。

🔄 andor の優先順位はどっちが強い?

not > and > or の順で優先されます。混在するときはカッコを付けて意図を明示するのが安全。読みやすさも段違いに良くなります。

🪄 条件式の結果を変数に入れても大丈夫?

もちろんOKです。is_adult = age >= 18 のようにブール値を変数に保存しておくと、コードの意図が明確になり、再利用もしやすくなります✨

✨ まとめ:条件式を制する者がPythonを制す

Pythonの条件式は、== / != / >= などの比較演算子、in による包含チェック、そして and / or / not による組み合わせ——この3つの柱を押さえれば、業務で出会うほとんどの判断ロジックを表現できます。

大切なのは、頭の中だけで完結させず実際にコードを動かして、True / False がどう変化するかを目で確かめること。動画やサンプルを見ながら、自分の手元で何度も書き換えていけば、条件式は自然と「呼吸するように使える道具」になります。

お気に入りの入門書と快適な作業環境を揃えて、今日からあなたの if 文をもっと自由に、もっと表現力豊かに進化させていきましょう🚀

あざらし

はじめまして、あざらしです。 フリーターからエンジニア会社へ就職し、 現在はフリーランスのシステムエンジニアとして働いています。 本業のエンジニア業のかたわら、 ✍️ ブログ運営 と「収入の柱を増やす挑戦」を少しずつ続けています。 フリーター時代から比べると、 段階的に収入が増えていくのを実感できるのが素直にうれしい今日この頃。 このブログでは、日々の気づき・体験談 IT・ガジェット・ゲーム系の話 「調べて分かったこと」を噛み砕いた解説 などを中心に、ジャンルに縛られない雑記ブログとして発信しています。 「自分と同じように悩んでいる人のヒントになればいいな」 そんな気持ちで更新中です。 👉 プロフィール詳細は、名前「あざらし」をクリックしてください