プログラミングを始めたばかりの方にとって、Python if文は「プログラムの流れを制御する」最初の関門です。条件によって動作を変える「条件分岐」を理解することで、より柔軟で実用的なコードが書けるようになります。本記事では、if文の基本構造から、elifやelseの活用法、実践例までを初心者にもわかりやすく解説します。
まず、if・elif・else構文の全体像を知りたい方は、Python if・elif・else 基本書き方ガイド(note.nkmk.me)もあわせて読むと理解が深まります。
Python if文とは?条件分岐の基本を理解しよう
if文の役割と使われる場面
Python if文は「もし~なら~する」という条件分岐を実現する構文です。たとえば「点数が80点以上なら合格」といった判断をプログラムにさせたい場合に使います。
「真(True)/偽(False)」による分岐
Pythonの条件分岐では、True(真)かFalse(偽)を判定基準にします。条件がTrueなら処理を実行し、Falseならスキップされます。
条件が成立したときだけ処理が実行される仕組み
if 条件式:
実行する処理
このように、Python if文では条件式が真のときだけ、インデントされた行の処理が動作します。
if文の基本構文と書き方
基本構文
if 条件式:
実行したい処理
インデントの重要性
Pythonではブロックをインデント(字下げ)で区別します。if文の後の処理をインデントし忘れるとエラーになります。
インデントやコロンの扱い方など、構文のルールを詳しく知りたい場合は、初心者向け Python 条件分岐 (if/elif/else) 基礎ガイド(Beagle-Dog)が参考になります。
例:年齢判定プログラム
age = 18
if age >= 20:
print("成人です")
この場合、変数ageが20以上なら「成人です」と表示されます。
else文を使った条件が偽の場合の処理
ifとelseのセット
ifで条件が偽だったときの処理を指定したい場合は、elseを使います。
例:条件分岐の基本形
age = 16
if age >= 20:
print("成人です")
else:
print("未成年です")
条件が偽のとき(この場合16歳)は「未成年です」が出力されます。else行のインデントもifと同じ階層に揃えることが重要です。
elif文で複数条件を使い分ける
if → elif → else の構造
複数の条件を順番に評価したいときは、elif(「else if」の略)を使います。
score = 75
if score >= 90:
print("優秀です")
elif score >= 70:
print("合格です")
else:
print("不合格です")
条件の評価順序
Pythonは上から順に条件をチェックし、最初に一致した条件の処理を実行した時点で終了します。すべての条件が偽ならelseが実行されます。
elif構文やネストした条件分岐の実例は、Python if・elif・else 条件分岐徹底解説(AI研究所)で詳しく解説されています。
条件式の書き方と応用テクニック
比較演算子の基本
==(等しい) / !=(等しくない) / <(より小さい) / >(より大きい) / <= / >=
論理演算子の活用
複数条件を組み合わせるときはand、or、notを使用します。
if age >= 18 and age < 65:
print("働ける年齢です")
in / not in による要素判定
if "apple" in ["apple", "banana", "cherry"]:
print("リンゴがあります")
Python特有の真偽値評価
空の文字列("")や空のリスト([])はFalseとして扱われます。
ネスト(入れ子)されたif文の使い方
if文の中にif文を入れる
age = 25
if age >= 18:
if age < 65:
print("成人であり、現役世代です")
ネストを使う際のコツ
ネストが深くなると読みにくくなるため、論理演算子を使って1行にまとめるのもおすすめです。
実践例:if文を使った簡単なプログラム
① 年齢によるメッセージ分岐
age = int(input("年齢を入力してください: "))
if age < 13:
print("子どもです")
elif age < 20:
print("ティーンです")
else:
print("大人です")
② 数当てゲーム風の例
answer = 7
guess = int(input("数字を当ててください: "))
if guess == answer:
print("正解!")
elif guess < answer:
print("もっと大きい数字です")
else:
print("もっと小さい数字です")
③ 入力に応じた反応プログラム
name = input("こんにちは!お名前は? ")
if name:
print(f"ようこそ、{name}さん!")
else:
print("名前が入力されていません。")
よくあるエラーと注意点
- コロン(:)の付け忘れ:
SyntaxErrorが発生します。 - インデントミス: 半角スペース4つまたはTabキーで統一しましょう。
- 型の不一致: 文字列(
str)と数値(int)を比較しないよう注意。
例:if input_value == 10: のような比較では、input()が文字列型なので型変換(int())が必要です。
まとめ:if文を使いこなしてプログラムの流れを制御しよう
Python if文は、プログラムに「判断力」を持たせる最も基本的な構文です。elifやelseを組み合わせれば、複雑な条件分岐も簡単に表現できます。まずは小さな例題から実際にコードを書いてみることで、自然と理解が深まるでしょう。条件分岐をマスターすれば、あなたのPythonスキルは大きくレベルアップします。


