Pythonでは、条件に応じて処理を分岐させるときに if 文を使用します。これによって、様々な条件によって適切な処理を実行することができるようになります。
今回はPythonで if 文を使用する方法について解説していきたいと思います。
Pythonのif文とは?
Pythonでは、特定の条件の結果によってプログラムの処理を分岐させたい場合にif文を使用します。
if文とは「制御構文」と呼ばれる機能の1つで、条件を指定してその条件に合致するか否かによってプログラムの処理の内容を分岐させることができます。
例えば、ユーザーの年齢によって、表示する文章を変更する処理を実装するとします。
この際に、以下のように条件ごとにパターンを分けて、それぞれに対応する処理を実装できるのが、if文の主な機能です。
- 条件1:年齢が7歳未満の場合 ・・・ ひらがなで表示する
- 条件2:年齢が7歳以上、13歳未満の場合 ・・・ 漢字に読み仮名を振る
- 条件3:年齢が13歳以上の場合 ・・・ 通常通りに表示する
条件に合致するものは True、合致しないものは False として真偽値で判定されます。
上記のように、複数の条件を指定することも可能です。
if文の使い方
ここからは、if文の詳しい使い方について順に解説していきます。
基本構文
まずは、基本構文から見ていきましょう。
if文を使用する際は、以下のような形式で記述します。
【基本構文】
if 条件式:
条件式がTrueの場合に行う処理
条件式には、「⚪︎⚪︎が ×× よりも大きい場合」 や 「⚪︎⚪︎が ×× と等しい場合」 といったように、真偽を判定したい条件を指定します。
そして、この条件式が True の場合に行う処理をブロック部分(インデントが下がっている場所)に記述します。
以下のサンプルコードで、実際の動きを見てみましょう。
【サンプルコード】
num = 10
if num > 5:
print("5よりも大きい数です")
【実行結果】
5よりも大きい数です
条件式は論理演算子や比較演算子で計算されて、その式はTrueかFalseを返します。比較演算子については、あとの章で詳しく解説していきます。
条件式で使用する比較演算子の一覧
条件式を記述する際は、比較演算子と呼ばれる記号の組み合わせを使用して値の比較を行います。
使用できる比較演算子の種類について、以下の一覧にまとめましたので、参考にしてみてください。
比較演算子 | 条件 |
---|---|
== | 等しい |
!= | 等しくない |
> | より大きい |
< | より小さい(未満) |
>= | 以上 |
<= | 以下 |
複数条件を指定して分岐する
冒頭でも少し触れたように、if文では複数のパターンに分けて条件を指定することができます。
また、1つの条件式の中でも、複数の比較条件を組み合わせて指定することが可能です。
具体的な指定方法について見ていきましょう。
論理演算子でif文の条件をより細かく指定する(and, or, not)
論理演算子と呼ばれる機能を使用すると、より細かい条件を指定することができます。
Pythonで使用可能な論理演算子には、「and」 「or」 「not」 の3つがあります。
【 and (論理積) 】
and演算子は、「〇〇 かつ 〇〇 の場合」 といったように、指定した複数の条件を全て満たした場合にのみ True となる演算子です。
使用の際は、以下のような構文で記述します。
【基本構文】
if 条件式A and 条件式B:
AとBがどちらもTrueの場合に行う処理
【 or (論理和) 】
or演算子は、「〇〇 もしくは 〇〇 の場合」 といったように、指定した複数の条件のいずれか1つ以上を満たした場合に True となる演算子です。
使用の際は、以下のような構文で記述します。
【基本構文】
if 条件式A or 条件式B:
AかBのいずれか、もしくは両方がTrueの場合に行う処理
【 not (否定) 】
not演算子は、「〇〇ではない場合」 といったように、条件式の真偽の判定を反転させる演算子です。
例えば、条件式に 「⚪︎⚪︎ == ××」 と記述した場合、通常であれば比較した値同士が等しい際に True となりますが、not演算子を使用すると False の判定となります。
使用の際は、以下のような構文で記述します。
【基本構文】
if not 条件式:
条件式がTrueの場合に行う処理
実際の使用例
それぞれの演算子を使用した場合の動きを、以下のサンプルコードで見てみましょう。
【サンプルコード】
num = 10
if num > 10 and num%2 == 0:
print("and:True")
if num > 10 or num%2 == 0:
print("or:True")
if not num > 10:
print("not:True")
【実行結果】
or:True
not:True
変数 num に格納した値は 10以下で、かつ偶数である数値です。
そのため、and演算子では 「10より大きい場合」 の条件に当てはまらないため False となり、or演算子ではもう片方の 「2で割った際の余りが0(偶数である) の場合」 を満たすため、True となっています。
not演算子の場合は、「10よりも大きい数値でない場合」 が True となり、これを満たしているため処理が実行されています。
これらの演算子は、1つの条件式の中で同時に使用することができますが、演算子ごとに判定の優先度が異なります。
演算子ごとの優先順位は以下の通りです。
not > and > or
優先度の高い演算子から順に判定が行われるため、記述する順番によっては、判定結果が変わる場合があります。
論理演算子を同時に使用する際は、注意が必要です。
【サンプルコード】
num = 10
if num > 10 and num < 5 or num%2 == 0:
print("条件1:True")
# 演算子の位置の違いにより、結果がFalseに変わる
if num > 10 or num < 5 and num%2 == 0 :
print("条件2:True")
【実行結果】
条件1:True
elif, elseで複数の条件分岐を指定する
条件を複数のパターンに分けて指定したい場合は、「elif」 や 「else」 を使用しましょう。
使用の際は、以下のような構文で記述します。
【基本構文】
if 条件式:
処理1
elif 条件式2:
処理2
else:
処理3
elif には、異なる条件に対する処理を指定することができます。
条件の判定は上から下へと順に行われ、一番初めにTrueとなった条件式の処理のみが実行されるため、確認したい条件の順に記述するようにしましょう。
また、いずれの条件にも当てはまらなかった際の処理を追加する場合は、else を使用します。
else は必ずif文の最後に記述する必要があります。
【サンプルコード】
num = 5
if num == 10:
print("numは10です")
elif num > 10:
print("numは10より大きいです")
else:
print("numは10未満です")
【実行結果】
numは10未満です
条件式の内容と記述する順番の組み合わせによっては、意図しない動作を引き起こす原因となる可能性があるため、使用の際には注意が必要です。
三項演算子で条件分岐を1行にまとめる
Pythonには、三項演算子と呼ばれる、条件分岐を一行で表すことができる記述方法があります。
例えば、以下のような処理を行うコードがあるとします。
【サンプルコード】
num = 50
if num >= 50:
print("合格")
else:
print("不合格")
これを、三項演算子を使用して記述すると、以下のコードになります。
【サンプルコード】
num = 50
print("合格") if num >= 50 else print("不合格")
三項演算子の場合は、先に処理内容を記述した後に、条件式の記述を行います。
また、elifを含む if文の場合は、次のように記述します。
【if文の場合】
num = 50
if num >= 80:
print("優")
elif num >= 50:
print("良")
else:
print("不合格")
【三項演算子の場合】
num = 50
print("優") if num >= 80 else print("良") if num >= 50 else print("不合格")
三項演算子では elifを使用することはできないため、Falseの場合の処理で別の条件式を再度判定するような形になります。
ただし、このようなif文の場合、三項演算子を使用すると却って可読性が落ちてしまう可能性が高いため、使用にはあまり向いていません。
三項演算子を使用する場合は、処理内容や分岐する条件が複雑でないケースで活用するといいでしょう。
まとめ
いかがでしたか?今回は、Pythonで if文を使用する方法について解説しました。
if文はプログラミングをするうえで必須とも言える構文なので、使い方をしっかりと覚えて活用していきましょう。
Pythonの勉強方法は?
書籍やインターネットで学習する方法があります。昨今では、YouTubeなどの動画サイトやエンジニアのコミュニティサイトなども充実していて多くの情報が手に入ります。
そして、より効率的に知識・スキルを習得するには、知識をつけながら実際に手を動かしてみるなど、インプットとアウトプットを繰り返していくことが重要です。特に独学の場合は、有識者に質問ができたりフィードバックをもらえるような環境があると、理解度が深まるでしょう。
ただ、Pythonに限らず、ITスキルを身につける際、どうしても課題にぶつかってしまうことはありますよね。特に独学だと、わからない部分をプロに質問できる機会を確保しにくく、モチベーションが続きにくいという側面があります。独学でモチベーションを維持する自信がない人にはプログラミングスクールという手もあります。費用は掛かりますが、その分スキルを身につけやすいです。しっかりと知識・スキルを習得して実践に活かしたいという人はプログラミングスクールがおすすめです。
プログラミングスクールならテックマニアがおすすめ!

ITスキル需要の高まりとともにプログラミングスクールも増えました。しかし、どのスクールに通うべきか迷ってしまう人もいるでしょう。そんな方にはテックマニアをおすすめします!これまで多くのITエンジニアを育成・輩出してきたテックマニアでもプログラミングスクールを開講しています。
<テックマニアの特徴>
・たしかな育成実績と親身な教育 ~セカンドキャリアを全力支援~
・講師が現役エンジニア ~“本当”の開発ノウハウを直に学べる~
・専属講師が学習を徹底サポート ~「わからない」を徹底解決~
・実務ベースでスキルを習得 ~実践的な凝縮カリキュラム~
このような特徴を持つテックマニアはITエンジニアのスタートラインとして最適です。
話を聞きたい・詳しく知りたいという方はこちらからお気軽にお問い合わせください。