Pythonのif文は、条件によってプログラムの動作を分岐させるための基本的な構文です。データの判定や入力のバリデーション、エラーのチェックなど、幅広い場面で役立ちます。
この記事では、Pythonのif文の基本と活用方法を中心に、比較演算子を使った条件式の書き方や複雑な条件処理の実装方法までを詳しく解説します。
これを読むことで、Pythonのif文を正しく使いこなし、効率的かつ柔軟なコードを記述できるようになるでしょう。
Pythonのif文とは?
Pythonのif文は、特定の条件が成り立つ場合にのみコードを実行するための基本的な制御構文です。ここでは、if文の基本的な構文とその使い方について詳しく解説します。
if文の基本的な書き方
Pythonのif文は、条件に基づいてコードの実行を制御する構文です。条件式がTrueの場合に指定されたコードが実行され、Falseの場合はスキップされます。
if文の基本的な書き方は次の通りです。
if 条件式:
実行するコード
「条件式」には、評価可能な式を記述します。この部分がTrueならコードが実行され、Falseならスキップされる流れです。
またPythonでは、条件に一致するブロックを示すために、インデント(通常はスペース4つ)を使います。
簡単なサンプルコードで基本的なif文の使い方を見ていきましょう。
if x > 5:
print(“xは5より大きい”)
このコードでは、変数xが5より大きい場合に「xは5より大きい」というメッセージが表示されます。条件式「x > 5」が評価され、結果がTrueになるためです。
if文の中で使われる「比較演算子」とは
Pythonのif文では、条件式の評価として「比較演算子」がよく使われます。比較演算子は、2つの値を比較してその結果をTrueまたはFalseとして返すものです。
主な比較演算子の種類とその役割を次の表にまとめてみます。
| 比較演算子 | 意味 | 使用例 |
|---|---|---|
| == | 等しい | x == y |
| != | 等しくない | x != y |
| > | より大きい | x > y |
| < | より小さい | x < y |
| >= | 以上 | x >= y |
| <= | 以下 | x <= y |
例えば次のコード例では、xとyを比較し、それぞれの条件に応じたメッセージが表示されます。
y = 5
if x > y:
print(“xはyより大きい”)
elif x == y:
print(“xはyと等しい”)
else:
print(“xはyより小さい”)
この例では、xが10、yが5なので「xはyより大きい」が表示されます。
しかし、xとyの値が変わると結果も変わります。例えば、x = 5、y = 5の場合は「xはyと等しい」が、x = 2、y = 5の場合は「xはyより小さい」が表示されます。
このように比較演算子は動的な値に対応し、状況に応じて異なる処理を行うために非常に便利です。
Python if文のインデントの使い方
Pythonでは、インデントを使ってコードブロックを明示的に区別します。他の多くのプログラミング言語で使用される波括弧 {} を排除する代わりに、インデントによってコードの構造を簡潔に表現する設計が採用されているのです。
この仕様は、Python公式ドキュメントで明記されています。
Pythonのインデントのルールは、次のように定められています。
- インデントにはスペース4つを使用
- タブとスペースを混在させない(混在させるとエラーになる)
- コードブロックは一貫したインデントを維持する
- ネストが深くなりすぎないようにする
インデントが正しくないと、IndentationErrorが発生します。エディタの自動整形機能を活用してエラーを防ぎましょう。
Pythonの基本情報や活用事例についてはこちらの記事を参照してください。
Pythonのif文を使った条件分岐の書き方

Pythonのif文は、条件に基づいてプログラムの動作を分岐させるための基本的な構文です。ここでは、if文を単独で使う基本的な書き方から、if-elseやif-elif-elseの使い方をわかりやすく解説します。
それぞれの書き方と活用例を学ぶことで、効率的で読みやすいコードを記述できるようになるでしょう。
- if文だけで条件を判定する
- if-elseで分岐する
- if-elif-elseで分岐する
①if文だけで条件を判定する
if文は、特定の条件をチェックし、それが成立する場合(True)にのみ処理を実行します。if文単体で記述する場合、条件が満たされない場合には何も実行されません。
次のサンプルコードは、入力された数値が正の数かを判定する簡単な例です。
# ユーザーから数値を入力
number = int(input(“数値を入力してください: “))
# if文で条件をチェック
if number > 0:
print(f”{number}は正の数です。”)
このコードでは、if文を使ってユーザーの入力値が0より大きいかを評価しています。条件がTrueの場合にはprint文が実行されますが、条件がFalseの場合、特に何も処理が行われません。
このように、if文を使うことで特定の条件を簡単に判定できます。条件が多くなる場合や、条件が満たされなかった場合の処理を追加する場合は、次に紹介するif-elseやif-elif-elseを活用しましょう。
②if-elseで分岐する
if-else文は、条件が成立する場合(True)と成立しない場合(False)の両方に異なる処理を実行する構文です。条件の結果に応じてプログラムの動作を分けることができるので、if文単体よりも柔軟な制御が可能になります。
if-elseの基本構文はこちらです。
if 条件式:
条件が成立した場合の処理
else:
条件が成立しなかった場合の処理
サンプルコードを見てみましょう。次の例では、入力された数値が正の数か、それ以外かを判定する処理を示しています。
# ユーザーから数値を入力
number = int(input(“数値を入力してください: “))
# if-else文で条件を分岐
if number > 0:
print(f”{number}は正の数です。”)
else:
print(f”{number}は正の数ではありません。”)
このコードでは、ユーザーから入力された数値が正の数かどうかを判定し、結果に応じて異なるメッセージを表示しています。
if-else文を使うことで、条件が成立しなかった場合の処理を明確に記述できます。さらに複雑な条件を扱いたいときは、次に紹介するif-elif-else文を活用しましょう。
③if-elif-elseで分岐する
if-elif-else文は、複数の条件を順番に判定し、それぞれの条件に応じた処理を実行するための構文です。条件が1つだけの場合や二者択一の処理に比べ、さらに柔軟な条件分岐が可能になります。
if-elif-elseの基本構文はこちらです。
if 条件式1:
条件式1が成立した場合の処理
elif 条件式2:
条件式2が成立した場合の処理
else:
上記のどの条件にも当てはまらない場合の処理
次のサンプルコードでは、入力された数値が正の数・負の数・ゼロのどれかを判定する例を示したものです。
# ユーザーから数値を入力
number = int(input(“数値を入力してください: “))
# if-elif-else文で条件を分岐
if number > 0:
print(f”{number}は正の数です。”)
elif number < 0:
print(f”{number}は負の数です。”)
else:
print(f”{number}はゼロです。”)
このプログラムでは、ユーザーが入力した数値をもとに、正の数、負の数、またはゼロのいずれかを判定しています。
if-elif-else文を使えば、複数条件を効率的に処理でき、1つのプログラムで多様なシナリオに対応できます。この構文を習得することで、複雑な条件分岐をシンプルでわかりやすい形にまとめられるようになるでしょう。
Pythonのifを使って複数の条件で分岐する方法

Pythonで複数の条件を評価する際には、if文と論理演算子を組み合わせるのが便利です。ここでは、論理演算子を活用して複数条件を扱う方法について見ていきましょう。
論理演算子(and・or・not)とは
Pythonの論理演算子は、複数の条件を組み合わせて評価する際に使われます。これにより、条件が複雑な場合でも簡潔で効率的なコードを書くことが可能です。
主に使用される論理演算子には、and、or、notの3種類があります。それぞれの違いについては、次の表を参照してください。
| 演算子 | 説明 | 使用例 |
|---|---|---|
| and | すべての条件がTrueの場合にTrue | x > 0 and x < 10 |
| or | いずれかの条件がTrueならTrue | x < 0 or x > 10 |
| not | 条件の結果を反転する | not x > 0 |
論理演算子を活用したサンプルコードを見てみましょう。
x = 5
# andの例
if x > 0 and x < 10:
print(“xは0より大きく、10より小さい”)
# orの例
if x < 0 or x > 10:
print(“xは0未満または10を超えています”)
else:
print(“xは0以上10以下です”)
# notの例
if not x > 10:
print(“xは10以下です”)
このコードでは、andを使ってxが0より大きく10未満の範囲内にあるかを判定し、条件が満たされた場合にメッセージを表示しています。また、orを用いてxが0未満または10を超えている場合のメッセージを分岐させています。さらに、notを使った例では、条件x > 10を反転させ、xが10以下であることを確認しています。
このように論理演算子は、複数条件を簡潔に評価する際に便利です。
複雑な条件分岐の実装例
複数の条件を扱う際には、論理演算子を活用して条件式をまとめることで、簡潔でわかりやすいコードを記述できます。ここでは、初心者でも理解しやすい、複雑すぎない条件分岐のサンプルを見ていきましょう。
次の例は、ユーザーが入力した年齢と会員ステータスに基づいてアクセス権限を判定しています。
is_member = input(“会員ですか? (yes/no): “).lower() == “yes”
if age >= 18 and is_member:
print(“フルアクセスが許可されます。”)
elif age >= 18 and not is_member:
print(“制限付きアクセスが許可されます。会員登録をおすすめします。”)
else:
print(“アクセスが許可されません。”)
ユーザーに年齢と会員ステータスを入力してもらい、条件式で評価するという内容です。andを使って複数条件を同時にチェックし、notを使って非会員である条件を簡潔に記述していることがわかります。
このように論理演算子を組み合わせて利用することで、シンプルながら可読性の高いコードを記述できるのがメリットです。
Pythonのif文・if文以外も学べるおすすめ講座
Pythonのif文や、if文以外の基礎知識も学びたい場合は「AIエンジニア育成講座」がおすすめです。
こちらはPythonを中心とした講座となっていてその他にもAIエンジニアになるための基本的な知識を学ぶことができます。
Pythonの知識以外にも、AIエンジニアの知識を満遍なく学びたい方はぜひ検討してみてください。
セミナー名 AIエンジニア育成講座 運営元 GETT Proskill(ゲット プロスキル) 価格(税込) 41,800円〜 開催期間 2日間 受講形式 対面(東京)・ライブウェビナー・eラーニング
Pythonのif文を使ったエラーチェックと例外処理

プログラムが予期せぬエラーや例外で停止するのを防ぐために、if文を使ったエラーチェックは非常に重要です。ここでは、if文を活用したエラーチェックの基本や、例外処理との連携について解説します。
if文を活用した入力値のバリデーション
「バリデーション」とは、入力された値が正しい形式や条件を満たしているかを確認するプロセスです。バリデーションを行うことで、プログラムが予期しないデータでエラーを起こすのを防ぎ、信頼性を向上させることができます。
次のサンプルコードは、if文を使ったシンプルな入力値のバリデーション例です。ユーザーが入力した値が数値であるかどうかをチェックしています。
user_input = input(“数値を入力してください: “)
if user_input.isdigit():
number = int(user_input)
print(f”入力された数値は {number} です。”)
else:
print(“エラー: 数値を入力してください。”)
このコードでは、user_input.isdigit()を使用して、入力された値がすべて数値かどうかを確認しています。数値以外が入力された場合は、elseの処理でエラーメッセージを表示し、プログラムが無効なデータで進行するのを防ぎます。
範囲チェックを追加する場合
数値が適切な範囲内かどうかを確認するバリデーションもできます。
次のサンプルコードは、入力値が1から100の範囲内かどうかをチェックする例です。
print(“入力は有効です。”)
else:
print(“エラー: 1から100の間の数値を入力してください。”)
さらに複雑な入力に対しては、tryとexceptを利用した例外処理も検討しましょう。適切な条件を設定することで、プログラムの安定性と信頼性を高められます。
例外処理でtry-exceptと組み合わせる方法
「例外処理」とは、プログラムが実行中に発生するエラー(例外)を検知し、それに対処する仕組みのことです。エラーが発生した際にプログラムが停止するのを防ぎ、適切なメッセージを表示したり代替処理を行ったりすることができます。
この例外処理は、if文と組み合わせることでさらに柔軟なエラーチェックが可能になります。サンプルコードを見てみましょう。
denominator = input(“分母を入力してください: “)
if not numerator.isdigit() or not denominator.isdigit():
print(“エラー: 数値を入力してください。”)
else:
try:
numerator = int(numerator)
denominator = int(denominator)
result = numerator / denominator
print(f”計算結果: {result}”)
except ZeroDivisionError:
print(“エラー: 分母にゼロを指定することはできません。”)
このサンプルは、if文で事前にエラー条件をチェックし、例外処理を補完的に使っている例です。tryブロック内で正常な処理を記述し、exceptブロックで特定のエラーをキャッチしてプログラムの停止を防ぎます。
このようにif文と例外処理を併用することにより、予防的なエラーチェックと例外対応を組み合わせた堅牢なコードが実現できます。
Python if文の応用テクニック3つ

if文は基本的な条件分岐だけでなく、工夫次第でさらに効率的かつ読みやすいコードを書くことができます。ここでは、if文を使いこなすための応用的なテクニックについて見ていきましょう。
ネストされたif文の使い方
「ネストされたif文」とは、if文の中にさらに別のif文を入れることで、複雑な条件を段階的にチェックする方法です。これにより、条件が多層的な場合でも柔軟に対応できます。
ただし、ネストを使いすぎるとコードが読みにくくなるため、適切な範囲で使用することが重要です。
次のサンプルコードは、ユーザーがアクセス権限を持っているかどうかを、年齢と会員ステータスの両方を確認して判断する例です。
is_member = input(“会員ですか? (yes/no): “).lower() == “yes”
if age >= 18:
if is_member:
print(“フルアクセスが許可されます。”)
else:
print(“会員登録をしてください。”)
else:
print(“年齢制限のためアクセスできません。”)
サンプルでは、外側のif文でユーザーの年齢が18歳以上であるかを確認し、内側のif文(ネストされたif文)では、さらに会員ステータスを確認しています。年齢が18歳以上の場合に、さらに会員ステータスを確認する仕組みです。
このようにif文のネストは条件を多様化できるため大変便利ですが、ネストが深くなると可読性が低下する点に注意が必要です。適切なインデントで構造を明確にすることを心がけましょう。
三項演算子の使い方
三項演算子(条件式)は、if文を1行で簡潔に記述するための方法です。条件に応じて異なる値を返す場合に便利で、可読性の高いコードを作ることができます。特に、単純な条件分岐を短く表現したいときに役立ちます。
Pythonの三項演算子の基本構文は以下の通りです。
値1 if 条件式 else 値2
※条件式がTrueの場合には値1、Falseの場合には値2が返される
サンプルコードを見てみましょう。次の例は、三項演算子を使ったシンプルな条件分岐です。
status = “成人”
if age >= 18 else “未成年”
print(status)
このコードでは、変数ageが18以上の場合に”成人”が、そうでない場合に”未成年”がstatusに代入されます。条件分岐を1行で記述できるため、コードが簡潔になる点に注目してください。
応用として、数値の大きさを判定するサンプルコードを次に示します。
larger = x
if x > y else y
print(f”大きい値は {larger} です”)
この例では、xとyを比較し、大きい方の値をlargerに代入しています。条件分岐が1行で記述できるため、可読性が向上していることがわかります。
三項演算子を活用することで可読性が上がることもありますが、一方で、複数の条件を組み合わせる場合には従来のif文を使用した方が可読性が高くなることもあります。どちらが読みやすいかを考えてコーディングすることが大切です。
長いif文を複数行で記述する方法
条件が多いif文を1行で記述すると、コードが読みづらくなることがあります。そのような場合には、条件式を複数行に分けて記述しましょう。
Pythonでは、バックスラッシュ(\)や、括弧(())を使うことで、条件式を複数行に分割できます。
次のサンプルコードでは、商品の購入金額や会員ステータス、割引クーポンの有無に基づいて割引を適用する条件を、複数行で記述しています。
# 商品購入金額と割引条件をチェック
total_price = float(input(“購入金額を入力してください(円): “))
is_member = input(“会員ですか? (yes/no): “).strip().lower() == “yes”
has_coupon = input(“割引クーポンをお持ちですか? (yes/no): “).strip().lower() == “yes”
# 長い条件式を複数行で記述
if (total_price >= 5000 and is_member) or \
(total_price >= 3000 and has_coupon) or \
total_price >= 10000:
print(“割引が適用されました!”)
else:
print(“割引は適用されません。”)
# 割引後の金額計算(例として10%割引を適用)
if total_price >= 5000 and is_member:
total_price *= 0.9
print(f”最終金額: {total_price:.2f}円”)
このコードでは、バックスラッシュを使うことで条件式を分割し、次の行に続けています。
同様に、括弧で条件式全体を囲むことでも、自動的に複数行の記述が可能です。
total_price >= 5000 and is_member or
total_price >= 3000 and has_coupon or
total_price >= 10000
):
print(“割引が適用されました!”)
Pythonのif文についてまとめ
Pythonのif文は、プログラムの条件分岐を実現するための重要な構文です。基本的な使い方を習得することで複雑なロジックを簡潔に表現でき、プログラムの信頼性を高められます。
今回ご紹介したPythonのif文に関するさまざまな知識を活用し、より効率的で可読性の高いコードを目指しましょう。
Pythonの基礎を効率的に短期間で学びたいなら、Python基礎セミナー講習がおすすめです。Pythonの基本構文から実践的なスキルまでを体系的に学ぶことができ、初心者の方でも安心して参加できます。自分のスキルを一歩前進させたい方は、ぜひ参加をご検討ください!