Python初心者向け:if文で学ぶ条件分岐の基本とブール型の使い方

Pythonを学び始めると、特定の条件によってプログラムの動きを変えたい場面が多くあります。例えば、「もしユーザーがログインしていたら、マイページを表示する」「もしスコアが100点だったら、お祝いのメッセージを出す」といった具合です。

この記事では、そのような「もし〜だったら」を実現するためのif文(条件分岐)と、その根幹を支えるブール型という考え方について、初心者の方にも分かりやすく解説していきます。

目次

プログラミングにおける「真」と「偽」- ブール型

まず、条件分岐を理解する上で欠かせないのがブール型 (boolean type) です。

これは非常にシンプルで、**True(真)False(偽)**の2つの値しか取りません。「正しい」か「間違い」か、といった二者択一の状態を表すためのデータ型です。

Pythonでは、このように変数にTrueFalseを直接代入できます。

# ユーザーが有効かどうかを表す変数
is_active = True
print(is_active)

このis_activeという変数が、これから学ぶ条件分岐の鍵となります。


2つの値を比べる – 比較演算子

では、どのようにしてTrueFalseを作り出すのでしょうか。そこで登場するのが比較演算子です。これは、2つの値を比べて、その関係が正しいか(True)、間違っているか(False)を判断するための記号です。

演算子意味結果
==等しい100 == 100True
!=等しくない100 != 50True
<より小さい30 < 80True
>より大きい90 > 20True
<=以下50 <= 50True
>=以上60 >= 70False

いくつか実際のコードで試してみましょう。

# 数値の比較
print(100 == 100)  # 結果: True
print(50 == 51)    # 結果: False

# 文字列の比較もできます
print("apple" == "apple") # 結果: True

# 等しくないかどうかの比較
print(20 != 30)    # 結果: True
print(20 != 20)    # 結果: False

# 大小の比較
print(30 < 80)     # 結果: True
print(90 > 100)    # 結果: False

このように、比較演算子を使った式は、必ずTrueFalseのどちらかの結果を返します。この結果を利用して、プログラムの次の動きを決定します。


複数の条件を組み合わせる – 論理演算子

ときには、「AかつB」や「AまたはB」のように、複数の条件を組み合わせて判断したいことがあります。そのような場面で活躍するのが**論理演算子(ブール演算子)**です。代表的なものにandornotがあります。

and演算子(かつ)

andで繋がれた条件は、両方がTrueの場合のみ、全体としてTrueになります。一つでもFalseがあればFalseです。

# 両方の条件が正しいのでTrue
result1 = (10 > 5) and (3 < 9)
print(result1)  # 結果: True

# 右側の条件が間違いなのでFalse
result2 = (10 > 5) and (3 > 9)
print(result2)  # 結果: False

or演算子(または)

orで繋がれた条件は、どちらか一方でもTrueであれば、全体としてTrueになります。両方がFalseのときだけFalseです。

# 右側の条件が正しいのでTrue
result1 = ("orange" == "banana") or (50 >= 50)
print(result1)  # 結果: True

# 両方の条件が間違いなのでFalse
result2 = (10 == 20) or (3 > 5)
print(result2)  # 結果: False

not演算子(ではない)

notは、TrueFalse反転させます。

is_ok = True
print(not is_ok)  # 結果: False

is_failed = False
print(not is_failed) # 結果: True

# notを重ねることもできます
print(not not not not is_ok) # 結果: True(2回反転して元に戻るのを2回繰り返す)

if文でプログラムの流れを制御する

これまでに学んだ「ブール型」「比較演算子」「論理演算子」を組み合わせて、if文を使用します。

if文の基本的な構造は以下の通りです。

if 条件式:
    # 条件式がTrueのときに実行される処理

ifの後に続く条件式(比較演算子などを使った式)がTrueと評価された場合のみ、その下のインデント(字下げ)されたコードブロックが実行されます。

基本的なif文

例えば、特定のユーザーにだけ挨拶を表示するプログラムです。

user_name = "Alice"

if user_name == "Alice":
    print("アリスさん、ようこそ。")

このコードを実行すると、「アリスさん、ようこそ。」と表示されます。もしuser_nameが別の名前であった場合、ifの条件式がFalseになるため、print文は実行されず、何も表示されません。

elseで「それ以外」の処理を追加する

条件がTrueではなかった場合に、何か別の処理をさせたい場合はelseを使います。

user_password = "secure_password"

if user_password == "secret123":
    print("認証に成功しました。")
else:
    print("パスワードが間違っています。")

このプログラムでは、user_password"secret123"と一致すれば「認証に成功しました。」と表示され、それ以外であればelse以下のブロックが実行され、「パスワードが間違っています。」と表示されます。

このように、ifelseを使うことで、条件に応じてプログラムの振る舞いを柔軟に変更できます。


まとめ

今回は、Pythonにおける条件分岐の基本を解説しました。

  • ブール型: TrueFalseで状態を表します。
  • 比較演算子: ==>などで値を比べ、TrueFalseを返します。
  • 論理演算子: andorで複数の条件を組み合わせます。
  • if文: 条件がTrueのときに特定の処理を実行させます。
  • else: ifの条件がFalseだった場合の処理を記述します。

これらの知識は、より複雑で便利なプログラムを作っていくための、非常に重要な土台となります。ご自身で変数や値を変えて、色々な条件を試してみることをお勧めします。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次