Pythonのelseif文(elif)の使い方:初心者から学ぶ徹底ガイド【実例付き】
条件分岐を最大限に活用して、効率的なコードを書こう!
Pythonのelseif文(elif)とは?
Pythonのelif
文は、複数の条件を順に評価し、最初にTrue
となる条件を実行するための構文です。他のプログラミング言語ではelseif
と呼ばれることもありますが、Pythonでは短縮形のelif
が採用されています。
- 主な用途: 複数の条件を効率的に処理する
- メリット: ネストを減らし、コードの可読性を向上
if 条件1:
# 条件1がTrueの場合の処理
elif 条件2:
# 条件2がTrueの場合の処理
else:
# どの条件にも該当しない場合の処理
Pythonのelseif文(elif)の使い方
例1: 数値の評価
score = 85
if score >= 90:
print("優")
elif score >= 70:
print("良")
elif score >= 50:
print("可")
else:
print("不可")
# 出力: 良
例2: 文字列の評価
day = "水曜日"
if day == "月曜日":
print("週の始まりです!")
elif day == "金曜日":
print("週末が近いです!")
else:
print("通常の日です。")
# 出力: 通常の日です。
例3: ネストされた条件
score = 85
attendance = 90
if score >= 80:
if attendance >= 85:
print("合格!")
else:
print("出席率が足りません。")
elif score >= 50:
print("再試験対象")
else:
print("不合格")
# 出力: 合格!
例4: リスト内の値の評価
fruits = ["apple", "banana", "cherry"]
item = "banana"
if item == "apple":
print("リンゴが選ばれました。")
elif item in fruits:
print(f"{item}はリスト内にあります。")
else:
print("リストに存在しないアイテムです。")
# 出力: bananaはリスト内にあります。
例5: 条件を複数組み合わせた評価
age = 25
is_student = True
if age < 18:
print("未成年です。")
elif age >= 18 and is_student:
print("学生割引が適用されます。")
elif age >= 18:
print("大人料金です。")
else:
print("不明な条件です。")
# 出力: 学生割引が適用されます。
elseif文の実務的ユースケース
以下は、実際の開発やプロジェクトでのelseif
文(Pythonではelif
)の具体的な使用例です。これらの例を通じて、条件分岐を活用して効率的なロジックを構築する方法を学びましょう。
例1: ユーザー権限の処理
def check_user_role(role):
if role == "admin":
return "管理者権限を付与"
elif role == "editor":
return "編集者権限を付与"
elif role == "viewer":
return "閲覧者権限を付与"
else:
return "無効な権限"
# 実際の使用例
print(check_user_role("admin")) # 出力: 管理者権限を付与
print(check_user_role("viewer")) # 出力: 閲覧者権限を付与
print(check_user_role("guest")) # 出力: 無効な権限
例2: レスポンシブデザインでの画面サイズ処理
def get_layout(width):
if width > 1200:
return "デスクトップレイアウト"
elif width > 768:
return "タブレットレイアウト"
elif width > 480:
return "スマートフォンレイアウト"
else:
return "小型デバイスレイアウト"
# 実際の使用例
print(get_layout(800)) # 出力: タブレットレイアウト
print(get_layout(400)) # 出力: 小型デバイスレイアウト
例3: 商品割引の計算
def calculate_discount(price):
if price >= 10000:
return "20%割引適用"
elif price >= 5000:
return "10%割引適用"
elif price >= 1000:
return "5%割引適用"
else:
return "割引なし"
# 実際の使用例
print(calculate_discount(12000)) # 出力: 20%割引適用
print(calculate_discount(7000)) # 出力: 10%割引適用
print(calculate_discount(500)) # 出力: 割引なし
例4: APIエラー処理
def handle_api_status(status_code):
if status_code == 200:
return "リクエスト成功"
elif status_code == 400:
return "不正なリクエスト"
elif status_code == 401:
return "認証エラー"
elif status_code == 500:
return "サーバーエラー"
else:
return "未定義のステータスコード"
# 実際の使用例
print(handle_api_status(200)) # 出力: リクエスト成功
print(handle_api_status(401)) # 出力: 認証エラー
print(handle_api_status(404)) # 出力: 未定義のステータスコード
elseif文の注意点とデメリット
- 条件が複雑になると、可読性が低下する可能性がある。
- 条件の重複や曖昧さがあると、意図しない結果を招く場合がある。
- ネストが深くなると、コードの保守性が悪化する。
- 非常に多くの条件分岐を処理する場合、パフォーマンスに影響を与える可能性がある。
次に読むべき記事
まとめ
Pythonのelif
文は、効率的な条件分岐を実現するための重要なツールです。注意点を理解し、適切なロジックを設計することで、可読性が高く保守性に優れたコードを書くことができます。
コメント