そまちょブログのそまちょ(@somachob)です。
プログラミングするうえで条件分岐を行うために用いる if は、初心者から上級者まで幅広く使われるとても重要な要素になります。
この記事では、if の基本的な書き方をわかりやすく解説していきます。
if の基本
if 文は、条件によって処理を分岐させたいときに使います。
Python の if 文は、次のように書き、式が True(真)と判定されたときに処理が実行されます。
式が False(偽)と判定されたとき、処理は実行されません。
if 式:
処理
式の後には「:(コロン)」が必要です。また、処理はインデント(字下げ)をして書きます。
Python の有名なコーディング規約の PEP8 ではインデントはスペース4つを推奨しています。
次のコードを実行すれば、「ここは実行されます」と出力されます。print() は、出力です。
if 1 < 10:
print('ここは実行されます。')
if 20 < 10:
print('ここは実行されません。')
処理は、1行だけでなく複数行でも問題ありません。インデントを合わせていることに注意してください。
インデントがないときは、if のブロックから外れます。
if 1 < 10:
print('ここは実行されます。')
print('ここも実行されます。')
print('これも実行されます。')
if 20 < 10:
print('実行されません。')
print('ここは実行されます。')
else
if の条件が成り立たなかったときに実行したい処理があるときは、else を使います。
次のように書き、式が True のときは「処理1」が実行され、式が False のときは、「処理2」が実行されます。
if 式:
処理1
else:
処理2
以下のコードは、変数 x が 80 より大きいか判定しています。80 以下のときは if のところのコードは実行されず、else のコードが実行されます。
# 変数 x に 75 を代入
x = 75
# x が 80 より大きいか判定
if x > 80:
print('ここは実行されません。')
else:
print('ここは実行されます。')
elif
複数の条件で判定したいときは、elif を使います。
式1が True のときは、「処理1」が実行され、式1が False のときは、式2が判定されます。
式2が True のときは、「処理2」が実行され、式2が False のときは、「処理3」が実行されます。
if 式1:
処理1
elif 式2:
処理2
else:
処理3
以下のコードでは、x が 80 より大きいか、小さいときには 50 より大きいか判定しています。
x = 75
if x > 80:
print('ここは実行されません。')
elif x > 50:
print('ここは実行されます。')
else:
print('ここは実行されません。')
elif は1つだけでなく複数追加することができます。
True と判定
if で重要なのは、式が True と判定されることです。
次のコードの if は、すべて「’ここは実行されます’」と書かれた行が実行されます。
# 真偽値
if True:
print('ここは実行されます')
# if else
if False:
print('ここは実行されません')
else:
print('ここは実行されます')
# 比較演算子
if 5 < 10:
print('ここは実行されます')
if 5 == 10:
print('ここは実行されません')
if 5 != 10
print('ここは実行されます')
if 5 >= 10:
print('ここは実行されません')
# 空のオブジェクトなどは False と判定される
if None:
print('ここは実行されません')
if '':
print('ここは実行されません')
if 0:
print('ここは実行されません')
if []:
print('ここは実行されません')
if ():
print('ここは実行されません')
if {}:
print('ここは実行されません')
まとめ
if を使うことで、ある条件が成り立つときの処理と、成り立たないときの処理を分岐させることができます。
if は次のように書きます。elif と else は、省略できます。elif は、複数書くことができます。
if 式1:
処理1
elif 式2:
処理2
elif 式3:
処理3
・・・
else:
処理