コラム

Pythonの「もしも」を操る魔法:if文を徹底解説!

Pythonの世界へようこそ!プログラミングの基礎となる重要な概念、それが「if文」です。日本語で言うと「もし~ならば」に相当し、条件によって処理を分岐させる魔法のような存在です。この記事では、初心者の方にもわかりやすく、if文の基本から応用までを丁寧に解説していきます。

if文の基本:条件によって変わる未来

if文は、ある条件が満たされた場合に、特定のコードを実行するために使われます。基本的な構造は以下の通りです。

if 条件式:
    # 条件式がTrueの場合に実行されるコード
    処理

例を見てみましょう。

age = 20

if age >= 18:
    print("あなたは成人です。")

このコードでは、変数ageの値が18以上かどうかを判定しています。ageが20なので条件式age >= 18はTrueとなり、「あなたは成人です。」と表示されます。もしageが17だった場合、条件式はFalseとなり、何も表示されません。

else文:もしそうでなければ

if文だけでは、「もし~ならば、~する」という処理しか記述できません。そこで登場するのがelse文です。else文は、if文の条件式がFalseの場合に実行されるコードブロックを定義します。

if 条件式:
    # 条件式がTrueの場合に実行されるコード
    処理1
else:
    # 条件式がFalseの場合に実行されるコード
    処理2

例を見てみましょう。

age = 15

if age >= 18:
    print("あなたは成人です。")
else:
    print("あなたは未成年です。")

このコードでは、ageが15なので条件式age >= 18はFalseとなり、elseブロック内の「あなたは未成年です。」が表示されます。

elif文:複数の条件をチェック

さらに複雑な条件分岐を実現するために、elif文(else ifの省略形)が用意されています。elif文を使うと、複数の条件を順番にチェックし、最初にTrueになった条件に対応するコードブロックを実行できます。

if 条件式1:
    # 条件式1がTrueの場合に実行されるコード
    処理1
elif 条件式2:
    # 条件式1がFalseで、条件式2がTrueの場合に実行されるコード
    処理2
else:
    # どの条件式もTrueでなかった場合に実行されるコード
    処理3

例を見てみましょう。

score = 85

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

このコードでは、scoreが85なので、最初にscore >= 90がFalse、次にscore >= 80がTrueとなり、「評価:A」が表示されます。elifは必要な数だけ連ねることができ、より複雑な条件分岐を記述できます。

条件式:比較演算子と論理演算子

条件式では、様々な比較演算子や論理演算子を使って、より複雑な条件を表現できます。

例を見てみましょう。

age = 25
is_student = True

if age >= 18 and not is_student:
    print("あなたは成人で、学生ではありません。")
else:
    print("あなたは成人でないか、学生です。")

このコードでは、ageが25でis_studentがTrueなので、age >= 18はTrue、not is_studentはFalseとなり、全体としてFalseになるため、elseブロック内の「あなたは成人でないか、学生です。」が表示されます。

まとめ:if文をマスターしてプログラムに活力を!

if文は、プログラムの実行の流れを制御するための非常に強力なツールです。この記事で紹介した基本構文、else文、elif文、そして比較演算子や論理演算子を組み合わせることで、様々な条件分岐を実現し、より柔軟で高度なプログラムを作成できます。

練習問題を解いたり、実際にコードを書いて試したりすることで、if文の理解を深め、Pythonプログラミングのスキルアップに繋げていきましょう!



< ツリー図
for文 >



コラム一覧

if文
for文
関数
配列
文字列
正規表現
ファイル入出力
openpyxl
Numpy
Matplotlib
Pandas
scikit-learn
seaborn
beautifulsoup
tkinter
OpenCV
pygame
メイン関数
自作ライブラリ
画像処理
機械学習
スクレイピング
データ分析
グラフ作成
API
可読性
デバッグ
例外処理
コメント
組み込み関数
flask
学び方
ビット演算
マルチスレッドプログラミング
参照渡し
pyenv
エディタ
生成AI
画像認識
Streamlit
lambda式
物理演算シミュレーション
命名規則
遺伝的アルゴリズム
関数型プログラミング
オブジェクト指向
ツリー図