Pythonとif文!初心者のための10ステップで理解する方法

Pythonのif文の学習イメージPython
この記事は約8分で読めます。

 

【サイト内のコードはご自由に個人利用・商用利用いただけます】

この記事では、プログラムの基礎知識を前提に話を進めています。

説明のためのコードや、サンプルコードもありますので、もちろん初心者でも理解できるように表現してあります。

基本的な知識があればカスタムコードを使って機能追加、目的を達成できるように作ってあります。

※この記事は、一般的にプロフェッショナルの指標とされる『実務経験10,000時間以上』を凌駕する現役のプログラマチームによって監修されています。

サイト内のコードを共有する場合は、参照元として引用して下さいますと幸いです

※Japanシーモアは、常に解説内容のわかりやすさや記事の品質に注力しております。不具合、分かりにくい説明や不適切な表現、動かないコードなど気になることがございましたら、記事の品質向上の為にお問い合わせフォームにてご共有いただけますと幸いです。
(送信された情報は、プライバシーポリシーのもと、厳正に取扱い、処分させていただきます。)

はじめに

こんにちは、Python学習者の皆さん。

今日はプログラミングに欠かせない「if文」について、Pythonを用いて詳しく解説します。

本記事を通じて、Pythonのif文の基本的な書き方から、より複雑な条件分岐の表現方法、さらには実用的な応用例まで、Pythonのif文を完全に理解することができます。

では早速、Pythonとif文の世界に飛び込んでいきましょう。

●Pythonとは

Pythonは、シンプルで読みやすいコードが特徴のプログラミング言語です。

初心者にとって覚えやすい文法や、豊富なライブラリが存在することから、学習を始める初心者だけでなく、データ分析やAI開発などの幅広い分野で活用されています。

●if文とは

if文は、ある条件が真(True)か偽(False)かによってプログラムの実行フローを制御するための基本的な文法です。

すなわち、if文を用いることで、「もし〜ならば」といった条件付きの処理を記述することができます。

●Pythonのif文の基本形

Pythonのif文は次のような基本形を持っています。

if 条件式:
    条件式が真だった場合の処理

“条件式”には、真または偽を返す式や値を記述します。

条件式が真であれば、その後のインデント(空白文字)によって区切られたブロック内の処理が実行されます。

○サンプルコード1:基本的なif文

age = 20
if age >= 20:
    print("あなたは成人です")

このコードでは、”age >= 20″という条件式を使っています。

この条件式が真となる場合(つまり、ageが20以上である場合)、”あなたは成人です”と表示されます。

●if文の条件

if文では、単一の条件だけでなく、複数の条件を組み合わせることも可能です。

これには「and」「or」「not」を用います。

○サンプルコード2:複数の条件を持つif文

age = 20
country = "Japan"

if age >= 20 and country == "Japan":
    print("あなたは日本で投票できます")

このコードでは、”age >= 20″という条件と”country == ‘Japan'”という条件の両方が真であるときに限り、”あなたは日本で投票できます”と表示されます。”and”を用いて2つの条件を結びつけています。

このサンプルコードを実行すると、”あなたは日本で投票できます”と表示されます。

なぜならば、age変数の値が20で、country変数の値が”Japan”であるため、両方の条件が真となります。

●Pythonにおける真と偽

Pythonでは、特定の値や状況が「真」または「偽」に該当することを理解することが重要です。

具体的には、次のような値が偽(False)として評価されます:0、None、空の文字列やリスト(””、[])、そしてその他の空のコレクション(たとえば空の辞書{})。

これら以外の値は、真(True)として評価されます。

if 0:
    print("0は真です")
else:
    print("0は偽です")

このコードでは、0が真か偽かを判定しています。この場合、0は偽と評価されるため、「0は偽です」と表示されます。

次に、if文の応用例に進みましょう。

具体的なコードを通じて、if文の使用法をより深く理解することができます。

●if文の応用例

○サンプルコード3:if文を用いたエラーチェック

def divide(x, y):
    if y == 0:
        print("エラー:0で割ることはできません")
        return
    return x / y

この関数divideでは、引数のyが0であるかどうかをif文でチェックしています。

もしyが0であれば、「エラー:0で割ることはできません」と表示し、関数の実行をそこで終了します。

それ以外の場合、xをyで割った結果を返します。

このコードを実行すると、divide関数に0を二番目の引数として渡すと、”エラー:0で割ることはできません”と表示されます。

それ以外の値を渡すと、割り算の結果が正しく返されます。

○サンプルコード4:if文を用いたリストのフィルタリング

numbers = [1, 2, 3, 4, 5, 6]
even_numbers = [n for n in numbers if n % 2 == 0]
print(even_numbers)

このコードでは、リスト内包表記とif文を組み合わせています。

numbersリストの中から偶数(2で割った余りが0の数)だけを新たなリストeven_numbersに格納しています。

このサンプルコードを実行すると、even_numbersの内容として[2, 4, 6]と表示されます。

つまり、numbersリストから偶数だけがフィルタリングされて新たなリストに格納されたことが確認できます。

if文の応用例を見てきましたが、注意点と対処法もあります。

それについて見ていきましょう。

●if文の注意点と対処法

Pythonにおけるif文を使う際には、いくつかの注意点とその対処法を覚えておくと良いでしょう。

  1. 一つ目の注意点は、インデント(字下げ)に関するものです。Pythonでは、if文や関数の中身など、特定のブロックの範囲を指定するためにインデントを使用します。このインデントが適切でないと、期待した動作をしない、またはエラーが発生します。
if True:
    print("インデントが適切です")
 if True:
    print("インデントが不適切でエラーが発生します")

このコードでは、2つ目のif文の前のスペースの数が正しくないため、エラーが発生します。

Pythonでは通常、インデントにはスペース4つを使用します。

  1. 二つ目の注意点は、比較演算子の誤用です。比較を行うには「==」を使用し、代入を行うには「=」を使用します。これを混同すると思わぬバグの原因となります。
if 1 = 1:
    print("エラーが発生します")
if 1 == 1:
    print("正しく比較が行われます")

上記のコードでは、「1 = 1」は代入を試みているためエラーが発生します。

正しくは「1 == 1」のように比較演算子を用いて比較を行います。

●Pythonのif文のカスタマイズ方法

Pythonのif文は、様々な形でカスタマイズが可能です。

その一つに、「elif」や「else」を使用することで、より複雑な条件分岐を行うことができます。

def compare_to_five(x):
    if x > 5:
        return "大きい"
    elif x < 5:
        return "小さい"
    else:
        return "等しい"

この関数compare_to_fiveでは、引数のxが5より大きい、小さい、または等しいかを比較し、その結果に応じて異なる文字列を返します。

この関数を実行すると、例えばcompare_to_five(10)とすると、「大きい」を返します。

また、compare_to_five(3)とすると、「小さい」を返します。さらに、compare_to_five(5)とすると、「等しい」を返します。

○サンプルコード5:if文とループを組み合わせた例

ここでは、if文とfor文を組み合わせて使う一例を紹介します。

for文は、指定した回数だけ繰り返し処理を行うための文です。それに対してif文は、条件に応じて処理を分岐するための文です。

これらを組み合わせることで、より複雑なプログラムを書くことが可能になります。

以下に示すコードでは、リストの要素を一つずつチェックし、偶数であればそのまま出力し、奇数であればその数の二倍を出力するプログラムを作ります。

numbers = [1, 2, 3, 4, 5]

for num in numbers:
    if num % 2 == 0:
        print(num)
    else:
        print(num * 2)

このコードでは、まずnumbersという名前のリストを作成しています。

次にfor文を使い、リストnumbersの要素を一つずつnumという変数に取り出しています。

その上で、if文を用いてnumが偶数か奇数かを判断しています。

具体的には、num % 2が0になるかどうか(つまりnumが偶数かどうか)を判断し、偶数であればそのままnumを出力し、そうでなければ(つまり奇数であれば)その数の二倍を出力します。

このコードを実行すると、次のような結果になります。

2
2
6
4
10

見ての通り、リストの数値が偶数であればそのまま出力され、奇数であればその数の二倍になって出力されています。

これは一例ですが、Pythonのif文とループを組み合わせることで、リスト内の各要素に対して特定の条件に応じた操作を行うなど、様々な処理を行うことができます。

まとめ

以上がPythonのif文を理解するためのステップです。

初心者の方でも一つずつ取り組み、理解していくことで、Pythonでの条件分岐を扱う力が身につくでしょう。

また、if文は他のプログラミング要素、例えばループと組み合わせることでより複雑な処理を表現できます。

ぜひこれを機会にif文をマスターして、Pythonプログラミングの幅を広げてみてください。