Python 条件文: IF…Else、ELIF、Switch Case
⚡ スマートサマリー
Python 条件文は、ブール式が真と評価された場合にのみ特定のコードブロックを実行することで、プログラムの流れを制御します。条件文には、if、else、elif、ネストされたif、三項演算子、構造的パターンマッチングなどがあり、簡潔で決定主導型のロジックを実現します。

条件文とは何か Python?
条件文 Python 特定のブール制約が真か偽かに応じて、異なる計算やアクションを実行します。これにより、プログラムはすべての行を順番に実行するのではなく、意思決定を行い、異なるパスをたどることができます。 Python条件文は if if文とその関連語句:else、elif、およびネストされたif。
何ですか Python If ステートメント?
その Python if文 は意思決定操作に使用されます。if 文で指定された条件が真の場合にのみ実行されるコード本体が含まれています。条件が偽の場合は、代わりにオプションの else 文が実行され、else 条件のコードが保持されます。ある条件に基づいてアクションを実行し、別の条件が真でない場合は、 を使用します。 Python if-else ステートメント。
Python if ステートメントの構文:
if expression:
statement
else:
statement
Python if…else フローチャート
上記のフローチャートは、if-else文を通して制御がどのように流れるかを示しています。例を見てみましょう。 Python if-else文の動作例:
# Example file for working with conditional statements
def main():
x, y = 2, 8
if(x < y):
st = "x is less than y"
print(st)
if __name__ == "__main__":
main()
- Code ライン3: 2つの変数x、y = 2、8を定義します。
- Code ライン4: if文は条件x < yをチェックします。 ◯ この場合。
- Code ライン5: 変数stは「xはyより小さい」に設定されます。
- Code ライン6: print(st)という行はstの値、つまり「xはyより小さい」を出力します。
「if」条件が満たされない場合、何が起こるのか
前の例を基に、if 条件が Python 条件が満たされません。条件が偽で、かつelse分岐が存在しない場合、インデントされたコードは完全にスキップされます。
# Example file for working with conditional statements
def main():
x, y = 8, 4
if(x < y):
st = "x is less than y"
print(st)
if __name__ == "__main__":
main()
- Code ライン3: 2つの変数x、y = 8、4を定義します。
- Code ライン4: if文は条件x < yをチェックします。 × この場合。
- Code ライン5: 変数 st は NOT 「x は y 未満」に設定します。
- Code ライン6: print(st) という行は、宣言されていない変数を出力しようとします。 Python 上げる 名前エラー.
「else」条件の使い方
上記のエラーを回避するには、else条件を追加します。else条件は、ある条件に基づいて別の条件を判定する必要がある場合に使用します。いずれかの条件が偽の場合、elseブロックによって代替パスが提供されるため、プログラムは最終的に結果を生成します。
例:
# Example file for working with conditional statements
def main():
x, y = 8, 4
if(x < y):
st = "x is less than y"
else:
st = "x is greater than y"
print(st)
if __name__ == "__main__":
main()
- Code ライン3: 2つの変数x、y = 8、4を定義します。
- Code ライン4: if文は条件x < yをチェックします。 × この場合。
- Code ライン6: プログラム制御の流れはelse条件へと移ります。
- Code ライン7: 変数 st は「x は 大きい あなたよりも。」
- Code ライン8: print(st)という行はstの値、つまり「xはyより大きい」を出力します。
「else」条件が機能しない場合
else条件は必ずしも期待通りの結果をもたらすとは限りません。プログラムのロジックに欠陥がある場合、誤った出力が表示されることがあります。これは通常、プログラム内で2つ以上のステートメントまたは条件を正当化する必要がある場合に発生します。例を挙げると、この概念をよりよく理解できるでしょう。
ここでは両方の変数が同じ (8, 8) ですが、プログラムの出力は 「xはyより大きい」 どちらである WRONGこれは、プログラムが最初の条件(if条件)をチェックし、それが失敗した場合に、2番目の条件(else条件)をデフォルト値として出力するためです。次のステップでは、このエラーを修正する方法を見ていきます。
# Example file for working with conditional statements
def main():
x, y = 8, 8
if(x < y):
st = "x is less than y"
else:
st = "x is greater than y"
print(st)
if __name__ == "__main__":
main()
「elif」条件の使い方
else 条件によって発生した以前のエラーを修正するには、 elif elif文。elif条件を使うことで、最初の条件が偽の場合に3つ目の可能性をテストするようにプログラムに指示できます。コード内で複数のelif条件を連結することで、4つ目、5つ目、さらにそれ以降の可能性もチェックできます。
例:
# Example file for working with conditional statements
def main():
x, y = 8, 8
if(x < y):
st = "x is less than y"
elif(x == y):
st = "x is same as y"
else:
st = "x is greater than y"
print(st)
if __name__ == "__main__":
main()
- Code ライン3: 2つの変数x、y = 8、8を定義します。
- Code ライン4: if文は条件x < yをチェックします。 × この場合。
- Code ライン6: プログラム制御の流れはelif条件へと移ります。elif条件はx == yであるかどうかをチェックしますが、これは真です。
- Code ライン7: 変数 st は「x は と同じ 」
- Code ライン10: プログラムの制御はif文から抜け出し(else文には到達しない)、stを出力します。出力は「xはyと同じ」となり、これは正しいです。
最小限のコードで条件文を実行する方法 Code
これで完全な if-elif-else ブロックを記述できるようになりました。 Python を使用すると、単純な条件を 1 行にまとめることができます。各分岐ごとに個別のコードを書く代わりに、 三項式(条件式).
構文:
value_if_true if condition else value_if_false
例:
def main():
x, y = 10, 8
st = "x is less than y" if (x < y) else "x is greater than or equal to y"
print(st)
if __name__ == "__main__":
main()
- Code ライン2: 2つの変数x、y = 10、8を定義します。
- Code ライン3: 変数 st は、x < y の場合は「x は y より小さい」に設定され、そうでない場合は「x は y 以上」になります。ここでは x > y なので、st は 2 番目の値になります。
- Code ライン4: st の値を表示し、正しい出力結果を示します。
Python ネストされた if 文
ネストされた if 文は、1 つの if 文を別の if 文の中に配置します。これは、決定が 2 番目の条件に依存する場合に便利です。次の例は、ネストされた if 文を示しています。 Python 船を計算するping 料金は国と注文合計金額に基づいて決定されます。
total = 100
# country = "US"
country = "AU"
if country == "US":
if total <= 50:
print("Shipping Cost is $50")
elif total <= 100:
print("Shipping Cost is $25")
elif total <= 150:
print("Shipping Cost is $5")
else:
print("FREE")
if country == "AU":
if total <= 50:
print("Shipping Cost is $100")
else:
print("FREE")
上記のコードの2行目のコメントを解除し、3行目をコメントアウトして、コードを再度実行し、異なる国での出力がどのように変化するかを確認してください。
Switch Caseステートメント Python
switch文とは何ですか?
switch文は、変数の値をcase文で指定された値と比較する多分岐文です。長年にわたり、 Python 言語には switch 文がなかったので、開発者は同じ動作を実装しました Python 辞書 地図ping.
辞書マップを使用した例ping:
def switch_example(argument):
switcher = {
0: "This is Case Zero",
1: "This is Case One",
2: "This is Case Two",
}
return switcher.get(argument, "nothing")
if __name__ == "__main__":
argument = 1
print(switch_example(argument))
スイッチケースとマッチ(Python 3.10本、そして Later)
Since Python 3.10 (2021年10月発売) Python ネイティブ 一致ケース これは、構造的パターンマッチングと呼ばれるステートメントです。長いelif文の連鎖や、上記で示した辞書方式に代わる、簡潔で読みやすい方法を提供します。
def switch_example(argument):
match argument:
case 0:
return "This is Case Zero"
case 1:
return "This is Case One"
case 2:
return "This is Case Two"
case _:
return "nothing"
if __name__ == "__main__":
print(switch_example(1))
アンダースコア(_)はデフォルトケースとして機能し、従来のswitch文のデフォルトと同様に、前のケースで処理されなかった値すべてに一致します。
if、elif、else:簡単な比較
この比較を参考に、あなたの意思決定ロジックに合った条件構造を決定してください。
| ステートメント | 目的 | いつ使用するか |
|---|---|---|
| if | 条件が真の場合にブロックを実行します | 単一のイエス/ノーの決定 |
| もし…そうでなければ | 条件が偽の場合のフォールバックを提供します | 互いに排他的な2つの結果 |
| elif | 追加の条件を順番にテストする | 3つ以上の可能性 |
| ネストされたif | if文の中に別のif文を配置する | 第二の条件に依存する決定 |
| ターナリー | if-else文を1行にまとめます | 単純な値割り当て |
| 一致ケース | 値を多数のパターンと照合する | 多分岐(Python 3.10 +) |







