Pythonプログラミングで条件分岐は重要な制御構造で、if文は根幹となる構文です。インデントを使用した直感的な構文により、初心者でも理解しやすい特徴を持っています。
本記事では、if文の基本的な書き方から、else文やelif文による複数条件の扱い方、さらには比較演算子や論理演算子を使用した応用例まで、実践的なコード例を交えながら詳しく解説します。Pythonでの条件分岐の実装方法を、基礎から応用まで着実に理解していきましょう。
Contents
Pythonのifについて
条件分岐はプログラミングの基礎となる制御構造の1つで、Pythonのif文は条件分岐に欠かせません。
例えば、ユーザーの入力に応じて異なる処理をおこなう場合や、データの値によって計算方法を変える場合など、プログラムのなかで処理を切り替える場面でif文が必要になります。
また、Pythonのif文は、他のプログラミング言語と比べて直感的で読みやすい構文なのが特徴です。
if文の基本の書き方
Pythonのif文は、指定した条件に基づきプログラムの動作を分岐させる制御構文です。
if文の基本的な構文は以下のようになります。
if 条件式:
処理内容 # 条件式が成立する(Trueの値をとる)場合に実行される
if文では、条件式とコロン(:)のあとに、インデント(字下げ)を付けて処理内容を記述します。
Pythonはインデントによってプログラムの処理ブロックを判断するため、インデントを正しく付けないとエラーが発生します。
if文の条件式の書き方
if文の条件式には、真偽値(TrueまたはFalse)を返す式を記述します。
条件式が成り立つ(評価値がTrueになる)場合に、インデントされた処理内容が実行されます。
age = 20
if age >= 18: # ageが18以上の場合、Trueとなる条件式
print(“成人です”) # ageが18以上の場合に実行
条件式では数値の比較や、文字列の一致判定などをおこなえます。
なお、Pythonでは0、空文字列、空リストなどはFalseとして扱われ、左記以外の値はTrueとして扱われます。
else文とelif文について
複数の条件分岐をおこなう場合は、else文やelif文を使用します。
else文は条件が成り立たない場合の処理を記述し、elif文は追加の条件分岐を記述します。
score = 85
if score >= 90:
print(“優”) # 90点以上
elif score >= 80:
print(“良”) # 80点以上90点未満
else:
print(“可”) # 80点未満
中間のelif文は必要な数だけ追加できます。
また、条件式は上から順に評価され、最初に成立した条件の処理が実行されます。
if文の応用例
Pythonのif文は、さまざまな演算子の組み合わせに対応します。
具体例を見ていきましょう。
比較演算子(==, !=, >, <, >=, <=)
比較演算子を使うと、2つの値の関係を判定できます。
age = 20
if age >= 20: # ageが20以上の場合、Trueとなる
print(“成人です”)
文字列の場合は辞書順で比較されます。
name1 = “Alice”
name2 = “Bob”
if name1 < name2:
print(“AliceはBobより辞書順で前にきます”)
論理演算子(and, or, not)
複数の条件を組み合わせる場合に論理演算子を使います。
「かつ」を表すand、「または」を表すor、条件を反転させるnotがあります。
score = 85
if score >= 80 and score < 90: # 80点以上「かつ」90点未満のときTrue
print(“良”)
age = 20
if not age < 18: # 18歳未満ではないときTrue
print(“成人です”)
左側の条件によっては、論理演算子は「短絡評価」(ショートサーキット評価)がおこなわれ、右側の条件は無視する場合があります。
def condition1():
print(“条件1 が評価されました”)
return True
def condition2():
print(“条件2 が評価されました”)
return False
if condition1() or condition2():
print(“少なくとも1つの条件が真です”)
上記の例では、condition1() が True を返すため、condition2() は実行されません。
in演算子
リストやタプル、文字列の中に特定の値が含まれるかを判定できます。
fruits = [“りんご”, “みかん”, “バナナ”]
if “りんご” in fruits: # リストに含まれていればTrue
print(“りんごがあります”)
文字列の場合、部分文字列の存在を確認できます。
message = “Hello, World!”
if “World” in message: # “World”を文字列に含んでいればTrue
print(“Worldが含まれています”)
複数の条件の組み合わせた場合
条件式が長くなる場合は、括弧()で優先順位を明確にすると読みやすくなります。
age = 25
income = 300000
if (age >= 20 and age < 30) and income >= 250000:
print(“対象です”)
可読性を高めるため、複雑な条件を変数に分けて記述するのもおすすめです。
age = 25
income = 300000
is_adult = age >= 20 and age < 30
is_high_income = income >= 250000
if is_adult and is_high_income:
print(“対象です”)
まとめ
Pythonのif文は、条件分岐を実現する基本的な制御構文です。インデントを使った直感的な書き方、比較演算子や論理演算子を組み合わせた柔軟な条件式など、多様な使い方が可能です。ご紹介した基礎を押さえて、ぜひ実際のプログラミングでご活用ください。
フリーランスの案件をお探しの方はTechReachにご相談ください。
TechReachを運営する株式会社アールストーンはIT・Web業界特化で15年以上の実績がございます。
そのため、高単価・高品質な数多くの案件紹介が可能です。
また一人のコンサルタントが企業と求職者様の担当を行う「両面型エージェント」を採用しているため、あなたの希望に合う案件がきっと見つかるはずです。
TechReachを活用して、理想の案件を見つけましょう!