【第5回Python基礎講座】条件で動きを変える:if文の作り方

本ページはプロモーションが含まれています
【第5回Python基礎講座】条件で動きを変える:if文の作り方
国内のAI狂い

やっほー!国内のAI狂いだよ!✨

第5回へようこそ!ここからいよいよ、プログラムに「知能」を持たせるよ🧠
これまでは「上から順に実行するだけ」だったけど、「もし〇〇なら、こうする」という条件分岐ができるようになると、作れるものの幅が無限大に広がるの!
Pythonの if 文は英語を読んでるみたいに直感的だから、きっとすぐに好きになるはずだよ!🥺

公式の「ここがわかりにくい」:スペース4つの掟

公式ドキュメントやPEP 8(スタイルガイド)を見ると、こんなルールが書いてあるよ。

インデントには空白 4 つを使い、タブは使わないこと。

「えっ、スペース4回も押すの?面倒くさ!」って思った?(私は思ったw)
でもこれ、Python最大の特徴にして「絶対の掟」なんだ。
Pythonは「{ }」で囲む代わりに、「字下げ(インデント)」でコードのまとまりを表すルールなの。
これがズレると即エラー!初心者が最初に洗礼を受けるポイントだから、今日はここをしっかりマスターしよう!

1. if文の基本:コロンとインデント

要するにこれは「もし〜なら、字下げした部分を実行してね」という指示だよ!

Pythonの if 文の書き方は超シンプル。
ポイントは2つだけ。「行末のコロン :「インデント」だよ!

🐍 サンプルコードを見る(クリックで開閉)
age = 18

# もし age が 18 以上なら...
if age >= 18:
    # ↑ 行末の「:」を忘れずに!
    print("選挙権があります!")
    print("投票に行こう!")
    # ↑ インデント(スペース4つ分)が下がっている部分が
    # 「条件に合ったときだけ実行されるブロック」だよ

print("プログラム終了")
💻 実行結果:
選挙権があります!
投票に行こう!
プログラム終了

もしインデントを忘れたりズレたりすると、Pythonは「どこまでが if の中身かわかんないよ!」って怒ってエラー(IndentationError)になるから気をつけてね。

2. 分岐を増やす:elif と else

「もし〜なら」だけじゃなくて、「そうじゃなくて〜なら」「それ以外なら」も指定したいよね。
そんな時は elifelse を使うよ。

  • if:もし〜なら(最初の条件)
  • elif:そうじゃなくて、もし〜なら(追加の条件。「else if」の略だよ!)
  • else:どれにも当てはまらないなら(最終手段)
🐍 サンプルコードを見る(クリックで開閉)
score = 75

if score == 100:
    print("満点!神!✨")
elif score >= 80:
    print("素晴らしい!A評価だよ")
elif score >= 60:
    print("合格!よかったね")
else:
    print("追試決定...ドンマイ🥺")
💻 実行結果:
合格!よかったね

elif はいくつでも増やせるけど、else は最後に1回だけだよ!

3. 条件の書き方:比較演算子と論理演算子

要するにこれは「条件を細かく指定するための記号」だよ!

条件式で使う記号(演算子)をおさらいしよう。
「等しい」は = じゃなくて == だからね!絶対間違えるなよ!(フリじゃないよ)

(1) 比較演算子(比べる)

記号意味
==等しいscore == 100
!=等しくないscore != 0
<より小さい(未満)age < 20
>=以上age >= 18

(2) 論理演算子(組み合わせる)

「A かつ B」とか「A または B」みたいに条件を合体させたい時はこれ!

記号意味
andかつ(両方OKなら)age >= 18 and has_ticket
orまたは(どっちかOKなら)is_holiday or is_weekend
not〜じゃない(否定)not is_busy

4. 【超重要】計算と条件の優先順位

演算子が出揃ったところで、試験でも実務でもめちゃくちゃ大事なルールの話をするね。
式の中に「計算」と「比較」と「and/or」が混ざっていたら、Pythonはどの順番で処理すると思う?

例えばこれ、どう動くかわかる?
score + 10 >= 60 and not is_absent

正解は、以下の順序で処理されるよ!👇

【重要】演算子の優先順位(暗記!)
  1. 算術演算(計算): +, -, *, / など ← 最優先!
  2. 比較演算(比べる): >, <, ==, != など
  3. 論理演算(まとめる): notandor の順 ← 最後!

つまりさっきの式は、こう処理されるんだ。

  1. まず score + 10 を計算する(算術)
  2. その結果が 60 以上か比べる(比較)
  3. is_absent の否定 not を処理する(論理・強)
  4. 最後に and で左右をつなぐ(論理・弱)

この順番を間違えると、「計算してるつもりなのに動かない!」ってなるから注意してね。
不安な時は、カッコ ( ) をつければ最優先になるから、迷わずカッコを使おう!

5. 【試験頻出】Trueとみなされるもの、Falseになるもの

ここも試験によく出るポイント!🚨
Pythonでは、True/False 以外のものでも、if文の条件として使えるんだ。
「空っぽ」や「ゼロ」は False とみなされる っていうルールがあるの!

【重要】Falseとみなされる値(暗記!)
  • 定数の False, None
  • 数値の 0, 0.0
  • 空の文字列 '', ""
  • 空のリスト [], タプル (), 辞書 {}
これ以外は全部 True とみなされるよ!
🐍 実験コードを見る(クリックで開閉)
items = []  # 空っぽのリスト

if items:
    # リストに中身があれば True
    print(f"アイテムを {len(items)} 個持っています")
else:
    # 空っぽ(False)ならこっち
    print("アイテムを持っていません")

val = 0
if val:
    print("0じゃないよ")
else:
    print("0だよ(False扱いだよ)")
💻 実行結果:
アイテムを持っていません
0だよ(False扱いだよ)

「リストが空かどうか」をチェックするのに if len(items) > 0: って書くのはPython流じゃないよ。
シンプルに if items: と書くのが「Pythonic(パイソニック)」な書き方なんだ!✨

試験に出る!要注意ポイント

今回の範囲で、Python 3 エンジニア認定基礎試験によく出るひっかけポイントをまとめたよ!📝

① コロン : 忘れ

if condition の後の : を忘れると SyntaxError(構文エラー)になるよ。
初心者が一番やるミスNo.1!

② 比較の == と代入の =

条件式の中で if x = 10: と書くとエラーになるよ。
「等しいか?」と聞きたいときは必ず == を使ってね!

💡 管理人の失敗エピソード
if x > 5 and x < 10: って書くのを、数学の癖で if 5 < x < 10: って書いちゃったことがあるの。
...え? 実はこれ、Pythonだと正しく動いちゃうんだよ!😲
Pythonは 5 < x < 10 みたいな直感的な書き方ができる数少ない言語なの。これは便利すぎて感動したなぁ〜✨(試験にも出るかも?)

理解度チェック!ミニクイズ

if文のルール、しっかり理解できたかな?
試験レベルの問題にチャレンジしてみよう!🔍

以下のコードを実行すると何が表示される?
a = []
if a:
  print("Yes")
else:
  print("No")
正解: No

解説:
変数 a は空のリスト [] だね。
Pythonでは空のリストは False(偽)とみなされるから、else ブロックの "No" が実行されるよ。

x = 5, y = 10 のとき、True になる条件式はどれ?
1. x == 5 and y < 5
2. x > 5 or y == 10
3. not (x == 5)
正解: 2. x > 5 or y == 10

解説:
1は後半がFalseだから全体もFalse。
2は前半(x>5)はFalseだけど、後半(y==10)がTrue。or は片方でもTrueならTrueになるよ!
3は not True だから False だね。

計算の優先順位として正しいのは?
正解: 算術演算(*) > 比較演算(>) > 論理演算(and)

解説:
まずは計算(足し算など)、次に比較(大きい小さい)、最後に論理(かつ、または)の順で処理されるよ。
迷ったらカッコ () をつけるのが一番安全だよ!

まとめ:次回への引き

今回は「if文」について解説したよ!
これでプログラムに条件判断をさせることができるようになったね。

次回は、面倒な作業を自動化する最強ツール!
テーマは「面倒な作業はループにお任せ!for文とrange」だよ。
「100回繰り返して!」みたいな命令が一瞬で書けるようになるから、自動化の夢が広がるよ〜!お楽しみに!👋✨

出典: Python公式チュートリアル
Copyright © 2001-2026 Python Software Foundation. Licensed under the PSF License.

よかったらシェアしてね!
  • URLをコピーしました!
目次