If文ってどうやって使うの?
この記事では、if文の使い方について詳しく説明します。
if文の基本的な構文や書き方、さまざまな条件式の使い方など、役立つ情報を提供します。
また、if文の応用例や実際のプログラムでの使用例も紹介します。
この記事を読むことで、Pythonのif文をマスターできます!
プログラミングの経験がない方でもわかりやすく説明していますので、最後までご覧ください。
- 基本的なif文
- if-else文について
- 入れ子のif文
- elif文について
- 三項演算子でのif文の利用
- まとめ
時間がない人は公式だけでも見てください!
基本的なif文
if文の構文と構造
Pythonのif文は「もし~なら」というアルゴリズムをするために使うと便利です。
if文の公式は、次のような形式です。
if 条件式A:
条件式Aが真の時に実行する文b
#↑半角スペース四つ開ける
条件式Aが真になるとその下の文を実行します。
条件式の下の文が複数ならば次のような形式です。
if 条件式A:
条件式Aが真の時に実行する文b
条件式Aが真の時に実行する文c
条件式Aが真の時に実行する文d
条件式の後に:(コロン)を付けよう。
例1.1
a = 4
if a == 4:
print("たまねぎ")
このコードは一行目にaに4を代入しています。
そして2行目は「もしaが4ならば」というif文です。
条件を満たしているのでその下のprint関数が実行されます。
if文で同じを表すときは「=」は2つ
=や>などの比較演算子については以下の記事でどうぞ!
たまねぎ
このif文をベン図で表すと以下の通りとなります。
赤の丸はaが4のときprint(“たまねぎ”)を出力します。
赤の丸から外れる(=aが4ではない)ときは何も出力しません。
例1.1の場合はaが4の時はこの赤の丸にaが含まれているのでprint(“たまねぎ”)が出力されます。
例1.2
a = 3
if a == 4:
print("たまねぎ")
例1.1が一行目にaに4を代入しているのに対し例1.2ではaに3を代入しています。
二行目の条件は「もしaが4ならば」というif文です。
がaは3より条件を満たしていないのでその下の文は実行されません。
#何も実行されない
例2
a = 5
if a > 4:
print("たまねぎ")
print("じゃがいも")
print("にんじん")
このコードは一行目でaに5を代入しています。
二行目は「もしaが4より大きいならば」というif文です。
条件を満たしているのでその下のprint関数が実行されます。
たまねぎ
じゃがいも
にんじん
このif文をベン図で表すと以下の通りとなります。
例3
a = 3
b = -2
if a > 0 and b < 0:
print("たまねぎ")
このコードは一行目でaに3を二行目でbに-2を代入しています。
三行目は「もしaが0より大きいかつbが0より小さいならば」というif文です。
条件を満たしているのでその下のprint関数が実行されます。
andなどの論理演算子については下の記事からどうぞ!
たまねぎ
このif文をベン図で表すと以下の通りとなります。
a > 0とb < 0を同時に満たすときにprint(“たまねぎ”)という関数を実行します。
例4.1
a = 2
if a >= 0:
print("たまねぎ")
if a < 0:
print("じゃがいも")
このコードは一行目でaに2を代入しています。
二行目は「もしaが0以上ならば」というif文です。
四行目は「もしaが0より小さいならば」というif文です。
二行目のif文は条件を満たしていて四行目のif文は条件を満たしていないので、二行目のif文の下の三行目のprint関数が実行されます。
たまねぎ
このif文をベン図で表すと以下の通りとなります。
aには数字以外も代入することができるので白い部分はaが数字以外のときです。
例4.2
a = "田中"
if a >= 0:
print("たまねぎ")
if a < 0:
print("じゃがいも")
このコードは一行目でaに文字列の「田中」を代入しています。
二行目のif文も四行目のif文も条件を満たしていないので何も実行されません。
#何も実行されない
if-else文について
条件を満たすときは○○を、満たさないときは××を実行したいとき次のようなコードをプログラミングできると思います。
if 条件式A:
条件式Aが真の時に実行する文b
if not 条件式A:
条件式Aが偽の時に実行する文c
しかし、これでは条件式aを二回書かないといけないので面倒ですよね。
この場合、「if-else文」を使用すると簡潔にコーディングできます。
if-else文の公式は以下の通りです。
if 条件式A:
条件式Aが真の時に実行する文b
else:
条件式Aが偽の時に実行する文c
elseの後にも:(コロン)を付けよう。
elseを用いることで簡潔になりましたね。
例5
most-recommend-code-editor = "Visual Studio Code"
if most-recommend-code-editor >= "Visual Studio Code":
print("nice!")
else:
print("you must use VScode!")
このコードは一行目でmost-recommend-code-editorに「Visual Studio Code」という文字列を代入しています。
二行目は「もしmost-recommend-code-editorがVisual Studio Codeならば」というif文です。
四行目は二行目の条件を満たさないとき(=most-recommend-code-editorがVisual Studio Codeでないとき)にその下のprint関数が実行されます。
most-recommend-code-editorである「Visual Studio Code」については下の記事からどうぞ!
入れ子のif文
プログラムでの判断が単純ではなく、複数の段階の条件が必要な場合もあります。
ここで入れ子のif文が登場します。
入れ子のif文の公式は以下の通りです。
if 条件式A:
条件式Aが真の時に実行する文b
if 条件式C:
条件式Cが真の時に実行する文d
例6
a = 3
if type(a) == int: # aの型がint型ならば
print("aは整数です。")
if abs(a) == a: # aの絶対値がaと等しければ
print("aは正の整数です。")
このコードは一行目でaに3を代入しています。
二行目はaがint型(=整数)であればというif文です。
aはこれを満たしているので三行目と四行目の文が実行されます。
四行目はaの絶対値がaと等しければというif文です。
aはこれを満たしているので五行目の文が実行されます。
print("aは整数です。")
print("aは正の整数です。")
ベン図で表すと以下の通りになります。
elif文について
「elif」(「else if」の省略形)文は、複数の条件をより整然とした方法で扱うためのものです。
elif文の公式は以下の通りです。
if 条件式A:
条件式Aが真の時に実行する文b
elif 条件式C:
条件式Aが真でない かつ 条件式Cが真の時に実行する文d
else:
条件式Aも条件式Cも真でないときに実行する文e
もちろんelseが無くても問題ありません。
例7
a = 0
if a == 0:
print("aは0です。")
elif type(a) == int and abs(a) == a:
print("aは自然数です。")
else:
print("aは0でも自然数でもありません。")
このコードは一行目でaに0を代入しています。
二行目はaが0であればというif文です。
aはこれを満たしているので三行目の文が実行されます。
四行目はaが整数であり、aの絶対値がaと等しければというif文です。
a(=0)はこの条件を満たしていますが、二行目のif文が真なので五行目の文は実行されません。
aは0です。
#「aは自然数です。」は実行されません。
三項演算子でのif文の利用
上級編として、if文を最適化するために使用する三項演算子を解説します。
三項演算子を使うとif文を一行で表すことが出来るようになります。
三項演算子の公式は以下の通りです。
条件式Aが真の時の値b if 条件式A else 条件式Aが真でないときの時の値c
条件式Aが真の時の値b if 条件式A else 条件式Aが真でないときの時の値c if 条件式D else 条件式Dが真でないときにの時の値e
少し見づらいですね。例を見てみましょう。
例8
a = 3
ans = "整数" if type(a) == int else "非整数"
print(f"aは{ans}です。")
このコードは一行目でaに3を代入しています。
二行目ではansにaがint型なら”整数”を、そうでなければ”非整数”を代入しています。
aは整数です。
例9
a = "はくさい"
ans = "文字列" if type(a) == str else "整数" if type(a) == int else "それ以外"
print(f"aは{ans}です。")
このコードは一行目でaにはくさいを代入しています。
二行目ではansにaがstr型なら”文字列”を、int型なら”整数”を、それ以外なら”それ以外”を代入しています。
aは文字列です。
まとめ
本記事での公式集
#公式1 基本形
if 条件式A:
条件式Aが真の時に実行する文b
#公式2 複数文形
if 条件式A:
条件式Aが真の時に実行する文b
条件式Aが真の時に実行する文c
条件式Aが真の時に実行する文d
#公式3 if-else形
if 条件式A:
条件式Aが真の時に実行する文b
else:
条件式Aが偽の時に実行する文c
#公式4 if-elif-else形
if 条件式A:
条件式Aが真の時に実行する文b
elif 条件式C:
条件式Aが真でない かつ 条件式Cが真の時に実行する文d
else:
条件式Aも条件式Cも真でないときに実行する文e
#公式5 三項演算子基本形
条件式Aが真の時の値b if 条件式A else 条件式Aが真でないときの時の値c
#公式6 三項演算子elif形
条件式Aが真の時の値b if 条件式A else 条件式Aが真でないときの時の値c if 条件式D else 条件式Dが真でないときにの時の値e
本記事ではPythonで重要な文法であるif文について解説しました。
効果的にif文を活用することでPythonのプログラミングの幅が広がります。
本気でプログラミング学習をしたいという人はプログラミングスクールに通って学習をすることをおススメします。
下の記事からどうぞ!