条件文(if文)
条件文
条件に合わせて動作を切り替えるコマンドのことを「条件文」といいます。例えば、朝、雨が降っていれば傘を持って出掛ける、晴れであれば折りたたみ傘を持って出掛ける、といった場合、朝の天気が「条件」となり、その条件に従って「動作」が変更されます。さらに、天気が晴れであるかどうかを評価する所作を「条件式」で表すことができます。
基本的な書き方は以下の通りになります。
if 条件式1:
action1
elif 条件式2:
action2
else:
action3
インデント
条件文の書き方の部分でコードに段落があるのに気づかれたと思います。これは「インデント」と呼ばれるもので、コードの塊の始まりと終わりを表現するために使われます。上記の条件文の書き方ではもし 条件式1
が True
を返せば、action1
を実行します。もしここに複数行のコマンドを記入したい場合は、インデントの高さを揃える必要があります。その際、例えば以下のような書き方になります。
if 条件式1:
action1
action2
elif 条件式2:
action3
Colab においては、このインデント一つ分は「tab」キーか半角スペース2つによって表すことができます。これは Colab 設定によって伝統的な半角スペース4つに切り替えることもできます。
さらに、例えば、複数の条件文を重ねるときにはインデントが更に深くなります。例えば、次のようなコードが複数の条件文を重ねた場合の書き方になります。
if 条件式1:
action1
if 条件式1-1:
action2
action3
条件1-1が True
を返したとき action2
と action3
を実行したい場合はインデント2つ分必要です。またこの2つの実行文のインデントの深さは揃える必要があります。
インデントは条件文特有のものではありません。後ほど説明するfor
文や関数などでも出てきます。ここでは 「Python でコードの塊を表すにはインデントを用いる」ということで理解しておいてください。
少し話がそれてしまったので、条件文の実際の書き方に話を戻しましょう。冒頭で出した例を条件文で表現すると以下のようになります。
# 天気の状態を weather に代入します。
weather = '晴れ'
if weather == '晴れ':
print('折りたたみ傘を持つ。')
elif weather == '雨':
print('傘を持つ。')
折りたたみ傘を持つ。
# 天気の状態を weather に代入します。
weather = '雨'
if weather == '晴れ':
print('折りたたみ傘を持つ。')
elif weather == '雨':
print('傘を持つ。')
傘を持つ。