Python入門 if文の使い方(動画あり)

Pythonのif文について

Python のif文は他の言語と少し書き方が違います。
Python の特徴はインデントを使って、if節とelse節を記述します。

Python のインデントには特別の意味があり、インデントされている文を同じブロックとして扱います。
そのため、インデントの数が違うと別のブロックとして認識してしまいます。
他の言語からPyhonを学習する場合に少し戸惑うと思いますが慣れるようにしましょう。

Pythonの比較演算子

if文では必ず条件判定を行います。その際比較演算子を使うことになります。
比較演算子は2つの値を比較してブール値を返すものです。
ブール値には「True」と「False」があります。
先頭文字が大文字であることに注意してください。

Pythonの比較演算子
演算子 意味
a == b a が b と等しい
a != b a が b と異なる
a < b a が b よりも小さい
a > b a が b よりも大きい
a <= b a が b 以下である
a >= b a が b 以上である
a <> b a が b と異なる
a is b a が b と等しい
a is not b a が b と異なる
a in b a が b に含まれる
a not in b a が b に含まれない

JavaScriptなどで使用される、「a === b」 は無いので注意してください。Pythonの場合は、「a == b」が「a === b」と同等になります。つまり、左辺と右辺の型も同じでなければなりません。

Pythonでのif文の記述方法

コードブロック

Pythonではコードを1行以上のまとまりにしてブロックとすることができます。
ブロックの区間はコードの字下げで指定します。

字下げとは行の先頭に何個かのスペースを入れることです。
Pythonの標準コードスタイルでは4文字スペースを入れます。
ただし、Googleのスタイルは2文字です。従ってColaboratoryは2文字になってます。

ブロックのルール

  • ブロックは字下げが増えると開始する
  • ブロックの中に他のブロックを含めることができる
  • 字下げがなくなるか、上位ブロックの字下げに戻るとブロックは終了する

if文の記述

フロー制御文は全てコロン(:)で終わり、次にコードブロック(節)が続きます。

if文の構成

if 条件式(TrueかFalseで評価される):
コードブロック(if節)

Pythonのif文はコロンとインデントを使って記述します。 インデントを間違うとエラーになりますので注意してください。

if [条件式1]:
[条件式がTrueのときに行う処理]
elif [条件式2]:
[elifの条件式2がTrueのときに行う処理]
else:
[if文の条件式1もelifの条件式2もどちらもFalseのときに行う処理]

if文の例

age = 20
if age == 20:
  print('成人式')
print('age:',age)

結果
成人式
age: 20

else文

if文の条件にマッチした場合は、if節に処理内容を記述しましたが、条件にマッチしなかった場合に何らか別の処理を施したい場合にelse文を使います。
else文は「それ以外の場合」という意味があります。
従ってelse文には条件式は必要ありません。

  • else:
  • 次の行に字下げしたコードブロック(else節)

if else 文の例

age = 15
if age == 20:
  print('成人式')
else:
  print('成人式ではない')
print('age:',age)

結果
成人式ではない
age: 15

elif文

場合によっては、単純にifの条件とelseだけで切り分けられない場合があります。
たくさんの条件があって、それぞれに実行する内容が違う場合です。
このような時には、elif文を使用します。

  • elif 条件式:
  • 次の行に字下げしたコードのブロック(elif節)

elif文を使った例

age = 60
if age == 20:
  print('成人式')
elif age < 20:
  print('未成年')

print('age:',age)

結果
age: 60

elif,elseを加えた例

age = 60
if age == 20:
  print('成人式')
elif age < 20:
  print('未成年')
else:
  print('成人')
print('age:',age)

結果
成人
age: 60

PythonにはSwitch文はありませんので、if文でelifやelseを使って表現するようにします。

参考になった書籍

プログラミングを少しでも経験がありPython の文法を学習する場合は、「入門 Python 3」が良いと思います。長く使えます。

「退屈なことはPython にやらせよう」はオブジェクト指向の解説がないです。代わりにPythonを使った便利な実例が初心者には嬉しい内容です。正規表現から、簡単なスクレイピング 、画像操作などあります。ただし、中級者以上には少し物足りないかもしれません。

Pythonサンプルのダウンロード

ここでダウンロードする「if.ipynb」ファイルは、このPython動画で使用したものです。

if.ipynb

Python入門一覧