本記事では Python における if 文について解説します。
始めに
全てのプログラミング言語には、記述する際に守らなければいけないルールが存在します。このことを単に「文法」と呼びます。 def、クラスの記述法も Python のルールに則っています。def で記述した、コロン(:)や半角スペースが文法に当たります。
以下の図は Python での def の文法を細かく説明したものです。
半角スペースの打ち方は以下のブログがわかりやすいので、こちらのサイトを参考にしてください。
先ほどの Jupyter Notebook で計算すると、説明通りの出力が得られます。
以上、def 文の解説をしました。他にも文法はたくさんありますが、Python 間で共通しているルールは以下の通りです。
- def、class など文を定義するときは半角スペースを 1 つ以上記述
- 文法を定義したとき、その行の最後に「:」を記述
- 「:」の記述後、半角スペースを 4 つ以上記述したうえで処理を記述
- 文法内の処理を終了するときは、半角スペースを記述しない
if 文について
if 文とは、 Python で使用できる文法の一つです。if 文を記述できると「条件分岐」を作れるようになります。条件分岐を端的に表すと、「場合分け」です。運動会の日に雨なら体育館で、それ以外の天気ならグラウンドで、といったような処理を行う際に使用します。具体的には以下のように記述します。
if 条件式1: # 1つ目の条件
処理1
・
・
・
elif 条件式2: # 2つ目の条件、3つ目以降の条件があればそれ以降も elif で記述
処理1
・
・
・
else: # 今まで定義した条件以外の処理
処理1
・
・
・
elif、else は必要がなければ、記述しなくても問題ございません。条件式ですが、 bool 型で判断します。bool 型は以下の記事を参考にしてください。
条件式の基本的な記述方法は以下の通りです。True が返らなかったときは False が返ってきます。他にもありますが、複雑なので本記事では説明しません。ご了承ください。
- 値(変数) == 値(変数): 両辺が全く同じだったとき、True を返します。
- 値(変数) != 値(変数): 両辺が違うものだった時、True を返します。
- 値(変数) >= 値(変数): 左辺の値が、右辺の値以上だったとき、True を返します。
- 値(変数) > 値(変数): 左辺の値が、右辺のより大きかったとき、True を返します。
- 値(変数) <= 値(変数): 左辺の値が、右辺の値以下だったとき、True を返します。
- 値(変数) < 値(変数): 左辺の値が、右辺のより小さかったとき、True を返します。
- 値 in (リスト、タプル)型 : 値が型に含まれているか確認します。
- 値 not in (リスト、タプル)型 : 値が型に含まれていないか確認します。
具体例
if 文の真理値例から、何題か例題を解いてみましょう。コードの実行結果は載せませんが、自分で実行し、確してみてください。またこのブログから始めた方は、ファイル名を「if_statement」で作成して、実行してください。ファイルの作成方法は以下のサイトを参考にしてください。
例題1
運動会の台風だったら中止、雨だった時は体育館、それ以外ならグラウンドとなるように出力しましょう。
# 解答例
today = "晴れ" # 雨、台風も today に入れられる
if today == "台風":
print("中止")
elif today == "雨":
print("体育館")
else:
print("グラウンド")
例題2
遠足のお菓子が1000円以上なら〇、それ以上なら×を出力しましょう。
# 解答例
money = 100 # 適当に値を変えてみましょう。
if money <= 1000:
print("〇")
else:
print("×")
例題3
友達に買ってきてくれた食べ物にエビが含まれていないか確認します。エビが含まれていたら、「エビアレルギーなのでエビは食べられません。ごめんなさい。」、それ以外の場合、「食材買ってきてくれてありがとう。」と返しましょう。
# 解答例
foods = ["エビ", "魚", "みかん"]
like_foods = "鳥肉"
if "エビ" in foods:
print("エビアレルギーなのでエビは食べられません。ごめんなさい。")
else:
print("食材買ってきてくれてありがとう。")
最後に
if 文はよく使うので覚えておきましょう。print、list など忘れている組み込み関数があれば以下の記事を参考にしてください。
本記事は以上になります。ありがとうございました。