Python|複数行のif文をスマートに書く方法

1. はじめに

Pythonで条件分岐を行う際、複数行のif文を書く場面は非常によくあります。しかし、コードが長くなってしまうと見づらくなり、バグの温床にもなりかねません。

この記事では、Python|複数行のif文をスマートに書く方法について、初心者にもわかりやすく解説します。読みやすく、保守性の高いコードを書くためのコツや、実際の使用例も取り上げています。

「if文が長くてゴチャつく…」という悩みを解決したい方は、ぜひ最後までお読みください。

 

2. Pythonの複数行if文の基本と構文

2-1. 複数条件のif文の書き方

まずは基本から。Pythonでは複数の条件をand、orでつなげて一つのif文にまとめることができます。

# 複数の条件を1行で書いた例
age = 25
income = 300000

if age > 20 and income > 200000:
    print("条件を満たしました")

出力結果:

条件を満たしました

2-2. 可読性を保つ改行方法(バックスラッシュ or 括弧)

複雑な条件式では、1行に収めると見づらくなることもあります。そんなときは以下のように複数行に分けると読みやすくなります。

方法①:バックスラッシュ(\)を使う

if age > 20 and \
   income > 200000:
    print("条件を満たしました")

方法②:カッコで囲って改行

if (
    age > 20 and
    income > 200000
):
    print("条件を満たしました")

後者の方法の方がエラーが少なく、推奨される書き方です。

 

3. よくある使い方・応用例

3-1. ネストしたif文の整理

以下のようなネストが深いif文も、早期リターンやガード節を使えばすっきり書けます。

ネストが深い例

def check_user(age, is_active):
    if age >= 18:
        if is_active:
            print("有効なユーザーです")

スマートな書き方

def check_user(age, is_active):
    if age < 18 or not is_active:
        return
    print("有効なユーザーです")

こうすることで、コードが浅く、読みやすくなります。

3-2. elifを使った複数条件の整理

if~elif~elseの構文も、インデントを整理しながらスマートに書くと見通しが良くなります。

score = 75

if score >= 90:
    print("評価:A")
elif score >= 70:
    print("評価:B")
elif score >= 50:
    print("評価:C")
else:
    print("評価:D")

出力結果:

評価:B

3-3. 複数の条件式を関数で分割

条件式が複雑な場合は、関数に切り出して可読性を上げるのも有効です。

def is_valid_user(age, is_active, email_verified):
    return age > 18 and is_active and email_verified

if is_valid_user(25, True, True):
    print("ユーザーは有効です")

出力結果:

ユーザーは有効です

 

4. 注意点・エラー対策

4-1. インデントミスに注意

Pythonはインデントでコードブロックを判断するため、インデントが不揃いだとエラーになります。

NG例(エラー):

if True:
print("これはエラー")  # ←インデントがない

OK例:

if True:
    print("これは正しい")  # ←インデントあり

4-2. バックスラッシュの使いすぎに注意

バックスラッシュは便利ですが、エスケープ文字としても使われるため、複雑な文字列操作と併用すると混乱の元になります。なるべく()を使った改行の方が安全です。

4-3. 長すぎる条件式は関数に分離

複雑なif文は、条件を小さな関数にまとめてから使うと、テストや再利用もしやすくなります。

 

5. まとめ

今回は、Pythonで複数行のif文をスマートに書く方法について解説しました。

  • and / orを使った複数条件の書き方
  • バックスラッシュやカッコによる改行方法
  • ネストを避けたスマートな書き方
  • 読みやすさを意識した関数の分離

これらのテクニックを使えば、実務でも読みやすく保守しやすいコードを書くことができます。学習の際は「他人が読んでも理解できるか?」を意識して書くのがコツです。

ぜひあなたのPythonコードに取り入れて、スマートで美しい条件分岐を実現してください。

タイトルとURLをコピーしました