【Python】if文で条件分岐を行う!書き方や使い方を分かり易く解説!

条件分岐はPythonだけでなく、他の言語でも最も重要な機能の一つです。

その中でも、if文は最も基本的な処理の1つで使用頻度が高く、さまざまなプログラミング言語で使用されます。そのくらい重要な役割を占めていますので、しっかり学びましょう!
ここでは、初心者にも分かり易くPythonのif文の書き方、使い方を解説していきます。

if文(条件分岐)とは

条件分岐とは条件式によって処理が分岐することです。
条件式はブール値で判断されます。
ブール値がtrue場合、処理が実行され、falasだった場合、処理をスルーします。

if文の書き方

if文は以下のように書きます。

if文の基本的なサンプルコード

if文の基本的なサンプルコードを見てみましょう。

出力結果

iの値は45です。
終了。

iの値が45ですので条件式はtrueを通ってif文の下にある処理が実行されました。

続いて、iの値を46に変えてみましょう。

出力結果

終了。

iの値が46ですので条件式はfalseと判断され、if文の下にある処理が実行されませんでした。

if文の使い方

Pythonでは、次のif文があります。
If文: 1つの条件が真の場合にコードを実行します。
if…else文: 条件が真の場合はいくつかのコードを実行し、条件が偽の場合は別のコードを実行します。
if…elif…else文: 3つ以上の条件に対して異なるコードを実行します。

if…elseの使い方

if…elseは条件式がtrueだった場合とfalseだった場合
と別々の処理を行うことができます。
if…elseは以下のように書きます。

条件式に対してtrueだった場合は、ifの下に書かれた処理を行い、
falseだった場合は、elseの下に書かれた処理を実行できます。

if…elseを使った次の例を見てみましょう。

if…elseの例1

出力結果

aはbよりも大きいです。

変数aの値は変数bの値よりも大きいので条件式はtrueと判断され、ifの下に書かれた処理が実行されています。
しかし、ここで変数aの値は変数bの値を入れ替えて実行してみましょう。

if…elseの例2

出力結果

aはbよりも小さいです。

変数aの値は変数bの値よりも小さいので条件式はfalseと判断され、elseの下に書かれた処理が実行されています。
このように、if…elseではtrue、falseだった場合、別々の処理を行うことができます。

if … elif… elseを使い方

if…elif…elseは、ifとelseの組み合わせになります。
if文を拡張して、3つ以上の条件分岐を書く時に使います。

if…elif…elseの書き方は以下のようになります。

まずは、条件式1を判断します。そして、条件式1がtrueだった場合はifの下に書かれた処理を実行し、
falseだった場合は、elifの条件式2判断します。
条件式2がtrueだった場合はelifの下に書かれた処理を実行し、
falseだった場合は、elseの下に書かれた処理を実行します。

if…elif…elseを使った次の例を見てみましょう。
まずは、変数aの値を変数bの値より大きくして処理を行ってみます。

if…elif…elseの例1

出力結果

aはbよりも大きいです。

(a > b)がtrueと判断し、ifの下に書かれた処理が実行されました、
次は変数aの値と変数bの値を同じにして処理を行ってみます。

if…elif…elseの例2

出力結果

aとbは同じです。

(a > b)がfalseと判断し、elifの条件式へ移動しました。
そして、(a == b)がtrueと判断し、elifの下に書かれた処理が実行されました。
最後に変数aの値を変数bの値より小さくして処理を行ってみます。

if…elif…elseの例3

出力結果

aはbよりも小さいです。

(a > b)がfalseと判断し、elifの条件式へ移動しました。
そしてa == bがfalseと判断し、elseの下に書かれた処理が実行されました。

if文のネスト

if文はネストとよばれる多重構造でif文の処理の中にif文を記述することが可能です。
以下のサンプルでは、if文をネストしてaの値を明確にしています。

出力結果

aは正の数です。aは50と100の間です。

ショートハンド(if)

実行する処理が1つしかない場合は、if文と同じ行に書くことができます。

出力結果

aはbよりも大きいです。

ショートハンド(if-else)

実行する処理が1つだけの場合、1つはifに対して、もう1つはelseに対して、すべてを同じ行に書くことができます。

ショートハンド(if-else)の例1

出力結果

B

aとbの値を入れ替えて実行してみます。

ショートハンド(if-else)の例2

出力結果

A

比較演算子

比較演算子とはある値Aとある値Bとを比較し、真偽値を返す演算子となります。
比較演算子は以下のようになります。

演算子 使用法 説明
== $値1 == $値2 $値1が$値2に等しい時にtrueを返します。
=== $値1 === $値2 $値1が$値2に等しい、および同じ型の場合、trueを返します。
!= $値1 != $値2 $値1が$値2に等しくない場合、trueを返します。。
!== $値1 !== $値2 $値1が$値2と等しくない、および同じ型でない場合、trueを返します。
< $値1 < $値2 $値1 が $値2より少ない時、trueを返します。
> $値1 > $値2 $値1が$値2より多い時、trueを返します。
<= $値1 <= $値2 $値1が$値2以下である時、trueを返します。
>= $値1 >= $値2 $値1 が $値2以上である時、trueを返します。

比較演算子を使った例

出力結果

aとbは同じ値です。

論理演算子

論理演算子とはある値Aとある値Bを論理とともに用いられ真偽値を返す演算子となります。
論理演算子は以下のようになります。

演算子 使用法 説明
論理積 $値1 and $値2 $値1および$値2が共にtrueの場合、trueを返します
論理和 $値1 or $値2 $値1または$値2のどちらかがtrueの場合にtrueを返します。
否定 ! $値1 $値1がtrueでない場合、trueを返します。
論理積 $値1 && $値2 $値1および$値2が共にtrueの場合、trueを返します。
論理和 $値1 || $値2 $値1または$値2のどちらかがtrueの場合、trueを返します。

論理演算子を使った例

出力結果

aとbは同じ値です。

Writer
壷井

壷井

株式会社flyhawkの壷井です。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。

最新の案件情報

フリーランスエンジニアの案件探し