長期投資シミュレーションツール『Tousimu』をリリースしました!

【初心者必見!】Pythonのif文の使い方をわかりやすく解説!

プログラミング
スポンサーリンク

この記事では

pythonでのif文の使い方」をわかりやすくご紹介します!

if文は非常に便利な構文ですが

少し複雑なためプログラミング学習者の最初の壁になることがあります。

しっかりと内容を理解し、使いこなしていきましょう!

またpythonpythonの勉強法

こちらで詳しく紹介しているので、ぜひご参考ください!

スポンサーリンク

if文とはどんな構文なのか?

まずはif文がどんな構文なのかについてご説明します!

処理に条件を加えたい時に使う!

結論、if文は「処理に条件を加える」時に使用する構文です!

条件を加える??

例として

テストの点数を入力して合格か判定するプログラムを考えます。

合格か判定するプログラム
  1. テストの点数を入力
  2. 80点以上かどうかの条件を課す
  3. 上の条件を満たすときだけ「合格」と出力

このプログラムの場合、2.の処理で

入力された点数が80点以上か」の条件を課しています。

このような「処理に条件を加える」にif文を使用します。

if文の使い方

次は「if文の使い方」です

if文は「処理に課す条件」と「条件を満たす時に実行する処理」を使って

以下のように書きます。

if文の使い方
if (処理に課す条件):
    (条件を満たす時に実行する処理)

「条件を満たす時に実行する処理」は

インデント(半角スペース×4)を空けて書くことに注意しましょう!

先程の「合格か判定するプログラム」は

if文を使うと以下のように書くことが出来ます!

# 点数の点数を入力
score = int(input())

# 80点以上の場合
if score >= 80:
    # "合格"と出力
    print("合格")

条件の書き方については、あとで詳しく紹介します!

また入力input関数出力print関数

こちらをご参考ください!

処理を条件分岐させることも出来る!

さらにif文では処理を条件分岐させることも出来ます!

条件分岐?条件を課すのと何が違うの?

先程紹介した条件を課す場合だと

  • 条件を満たす   → 満たした時の処理を実行する
  • 条件を満たさない → 何もしない

でしたが、条件分岐の場合だと

  • 条件を満たす   → 満たした時の処理を実行する
  • 条件を満たさない → 満たさない時の処理を実行する

のように、条件を満たさない時にも処理を実行できます。

条件を分岐させる時はif else文を使います。

if else文の使い方
if (処理に課す条件):
    (条件を満たす時に実行する処理)
else:
    (条件を満たさない時に実行する処理)

先程の「合格か判定するプログラム」に

if else文を使用して、

条件を満たさない時に「不合格」と出力する処理を加えると

以下のように書くことが出来ます!

# 点数の点数を入力
score = int(input())

# 80点以上かの場合
if score >= 80:
    # "合格"と出力
    print("合格")
else:
    # "不合格"と出力
    print("不合格")

複数の条件を課す

またif文では複数の条件を課すことも出来ます!

複数の条件を課す時はelif文を使用します。

elif文の使い方
if (処理に課す条件1):
    (条件1を満たす時に実行する処理)

elif(処理に課す条件2):
    (条件2を満たす時に実行する処理)

もちろんelif文はif else文と併用できます!

「合格か判定するプログラム」に60点以上ならば

補修出力する処理を加えると

以下のように書くことが出来ます!

# 点数を入力
score = int(input())

# 80点以上の場合
if score >= 80:
    # "合格"と出力
    print("合格")

# 60点以上79点以下の場合
elif score >= 60:
    # "補修"と出力
    print("補修")

# 60点よりも低い場合
else:
    # "不合格"と出力
    print("不合格")

注意点として

elif文はif文の後に実行されるため条件を課す順番には気をつけましょう!

スポンサーリンク

if文の条件を課す方法

次に「if文に条件を課す方法」を紹介します!

条件を課すためには

<, >==などの比較演算子と呼ばれる記号を使用します!

それぞれの使い方をご紹介します!

値の大小で条件を課す

まずは「値の大小」で条件を課す場合です。

値の大小の条件は以下の4種類あります。

値の大小の条件
  • (値1)が(値2)以上    → (値1)が(値2)同じ場合を含む
  • (値1)が(値2)以下    → (値1)が(値2)同じ場合を含む
  • (値1)が(値2)より大きい → (値1)が(値2)同じ場合を含まない
  • (値1)が(値2)より少ない → (値1)が(値2)同じ場合を含まない

「以上・以下」は2つの値が等しい場合も含まれることに注意しましょう。

pythonではこれら4つの条件は、以下のように書きます

値の大小の条件の書き方
  • (値1)が(値2)以上    → (値1) >= (値2)
  • (値1)が(値2)以下    → (値1) <= (値2)
  • (値1)が(値2)より大きい → (値1) > (値2)
  • (値1)が(値2)より少ない → (値1) < (値2)
score = 80

# 70以上の場合
if score >= 70:
    # "70点以上"と出力
    print("70点以上")

# 80以下の場合
elif score <= 80:
    # "80点以下"と出力
    print("80点以下")

# 70より大きい場合
if score > 70:
    # "70点より大きい"と出力
    print("70点より大きい")

# 80より小さい場合
if score < 80:
    # "80点より小さい"と出力
    print("80点より小さい")

「以上・以下」は

「2つの値が等しい場合を含むため=が必要」と覚えておきましょう!

値が等しいかどうかで条件を課す

次は「値が等しいかどうか」で条件を課す場合についてです。

値が等しいかどうかの条件は非常に簡単に書くことが出来ます。

値が等しいかどうかの条件の書き方

(値1) == (値2)

score = 100

# 100の場合
if score == 100:
    # "満点"と出力
    print("満点")

# 60の場合
if score == 60:
    # 出力されない
    print("平均点")

等しいかどうかは=ではなく==であることに注意しましょう!

またisを使って書くことも出来ます!

isの使い方

(値1) is (値2)

score = 100

# 100の場合
if score is 100:
    # "満点"と出力
    print("満点")

# 60の場合
if score is 60:
    # 出力されない
    print("平均点")

==の場合と同じ結果が得られたのがわかります。

==isはまったく同じなの??

一見同じ働きのように見える==isですが、実は違いがあります。

==とisの違い

==isの違いは

同じ値が代入された異なるリストを比較することで確認できます。

リストについてはこちらをご参考ください!

num_list1 = [1, 2, 3]
num_list2 = [1, 2, 3]

if num_list1 == num_list2:
    # 出力される
    print("同じ")
    
if num_list1 is num_list2:
    # 出力されない
    print("同じ")

==だと出力されるのにisだと出力されない!

実は==isでは同じかどうか判断する基準が異なるため

このような違いが生まれます。

==の場合は

変数やリストなどに代入されている値」が同じかで判断しているのに対し

isの場合は

変数やリストなどのid

が同じかどうかで判断しています。

idとは変数やリストそれぞれ与えられている固有の番号で

id関数を使って確認できます。

id関数の使い方

id((idを知りたい変数やリスト))

id関数を使うと、先程の2つのリストのidが異なることが確認できます。

num_list1 = [1, 2, 3]
num_list2 = [1, 2, 3]

if num_list1 == num_list2:
    # 出力される
    print("同じ")
    
if num_list1 is num_list2:
    # 出力されない
    print("同じ")

# 140675819942792と出力
print(id(num_list1))

# 140675819943048と出力
print(id(num_list2))

そのため==isは次のように使い分けましょう!

“==”と”is”の使い分け
  • 値が同じかどうか  → ==を使う
  • idまで同じかどうか → isを使う

否定の条件を課す

最後に「否定の条件」を課す場合についてです。

否定の条件とは「2つの値が同じでは無い場合」などの条件のことです。

「否定の条件」はnotを使って書くことが出来ます!

否定の条件の書き方

not (否定する条件)

score = 80

# 100ではない場合
if not score == 100:
    # 出力
    print("満点ではない")

もちろん==以外の条件でもnotは使用できます!

score = 80

# 70以上ではない場合
if not score >= 70:
    # 出力されない
    print("70点より小さい")
    
# 80以下ではない場合
if not score <= 80:
    # 出力されない
    print("80点より大きい")
    
# 70より大きくない場合
if not score > 70:
    # 出力されない
    print("70点以下")
    
# 80より小さくない場合
if not score < 80:
    # 出力される
    print("80点以上")

また「以下」の否定が「より大きい」になるように

「2つの値が等しい場合を含むかどうか」が変化するため注意しましょう!

スポンサーリンク

まとめ

今回はpythonのif文について

  • if文とは何?どんな時に使うのか?
  • if文の基本的な使い方

という流れで紹介しました。

if文はプログラミングの自由度を大きく広げる重要な構文ですが

はじめのうちは少し難しく感じると思います。

焦らず少しずつif文の使い方に慣れていきましょう!

その他のpythonの基本的な文法は

こちらの記事で紹介しているので、ぜひご参考ください!

タイトルとURLをコピーしました