【Python】if文で条件分岐を行う!書き方や使い方を分かり易く解説!
条件分岐はPythonだけでなく、他の言語でも最も重要な機能の一つです。
その中でも、if文は最も基本的な処理の1つで使用頻度が高く、さまざまなプログラミング言語で使用されます。そのくらい重要な役割を占めていますので、しっかり学びましょう!
ここでは、初心者にも分かり易くPythonのif文の書き方、使い方を解説していきます。
目次
if文(条件分岐)とは
条件分岐とは条件式によって処理が分岐することです。
条件式はブール値で判断されます。
ブール値がtrue場合、処理が実行され、falasだった場合、処理をスルーします。
if文の書き方
if文は以下のように書きます。
1 2 |
if 条件式1: 条件式1がTrueのときに行う処理 |
if文の基本的なサンプルコード
if文の基本的なサンプルコードを見てみましょう。
例
1 2 3 4 |
i = 45 if i == 45: print("iの値は45です。") print("終了。") |
出力結果
iの値は45です。
終了。
iの値が45ですので条件式はtrueを通ってif文の下にある処理が実行されました。
続いて、iの値を46に変えてみましょう。
例
1 2 3 4 5 6 |
i = 46 if i == 45: print("iの値は45です。") print("終了。") |
出力結果
終了。
iの値が46ですので条件式はfalseと判断され、if文の下にある処理が実行されませんでした。
if文の使い方
Pythonでは、次のif文があります。
If文: 1つの条件が真の場合にコードを実行します。
if…else文: 条件が真の場合はいくつかのコードを実行し、条件が偽の場合は別のコードを実行します。
if…elif…else文: 3つ以上の条件に対して異なるコードを実行します。
if…elseの使い方
if…elseは条件式がtrueだった場合とfalseだった場合
と別々の処理を行うことができます。
if…elseは以下のように書きます。
1 2 3 4 |
if 条件式: // trueの場合の処理内容; else: // falseの場合の処理内容; |
条件式に対してtrueだった場合は、ifの下に書かれた処理を行い、
falseだった場合は、elseの下に書かれた処理を実行できます。
if…elseを使った次の例を見てみましょう。
if…elseの例1
1 2 3 4 5 6 7 |
a = 40 b = 30 if a > b : print ("aはbよりも大きいです。") else: print ("aはbよりも小さいです。") |
出力結果
aはbよりも大きいです。
変数aの値は変数bの値よりも大きいので条件式はtrueと判断され、ifの下に書かれた処理が実行されています。
しかし、ここで変数aの値は変数bの値を入れ替えて実行してみましょう。
if…elseの例2
1 2 3 4 5 6 7 8 |
a = 30 b = 30 if a > b : print ("aはbよりも大きいです。") else: print ("aはbよりも小さいです。") } |
出力結果
aはbよりも小さいです。
変数aの値は変数bの値よりも小さいので条件式はfalseと判断され、elseの下に書かれた処理が実行されています。
このように、if…elseではtrue、falseだった場合、別々の処理を行うことができます。
if … elif… elseを使い方
if…elif…elseは、ifとelseの組み合わせになります。
if文を拡張して、3つ以上の条件分岐を書く時に使います。
if…elif…elseの書き方は以下のようになります。
1 2 3 4 5 6 7 8 |
if 条件式1: // 条件式1がtrueの場合の処理内容; elif 条件式2: // 条件式2がtrueの場合の処理内容; else // 条件式2がfalseの場合の処理内容; |
まずは、条件式1を判断します。そして、条件式1がtrueだった場合はifの下に書かれた処理を実行し、
falseだった場合は、elifの条件式2判断します。
条件式2がtrueだった場合はelifの下に書かれた処理を実行し、
falseだった場合は、elseの下に書かれた処理を実行します。
if…elif…elseを使った次の例を見てみましょう。
まずは、変数aの値を変数bの値より大きくして処理を行ってみます。
if…elif…elseの例1
1 2 3 4 5 6 7 8 9 10 11 |
a = 40 b = 30 if a > b : print ("aはbよりも大きいです。") elif a == b): print ("aとbは同じです。") else : print ("aはbよりも小さいです。") |
出力結果
aはbよりも大きいです。
(a > b)がtrueと判断し、ifの下に書かれた処理が実行されました、
次は変数aの値と変数bの値を同じにして処理を行ってみます。
if…elif…elseの例2
1 2 3 4 5 6 7 8 9 10 11 |
a = 30 b = 30 if a > b : print ("aはbよりも大きいです。") elif a == b): print ("aとbは同じです。") else : print ("aはbよりも小さいです。") |
出力結果
aとbは同じです。
(a > b)がfalseと判断し、elifの条件式へ移動しました。
そして、(a == b)がtrueと判断し、elifの下に書かれた処理が実行されました。
最後に変数aの値を変数bの値より小さくして処理を行ってみます。
if…elif…elseの例3
1 2 3 4 5 6 7 8 9 10 11 |
a = 30 b = 40 if a > b: print "aはbよりも大きいです。"; elif a == b : print "aとbは同じです。"; print "aはbよりも小さいです。"; |
出力結果
aはbよりも小さいです。
(a > b)がfalseと判断し、elifの条件式へ移動しました。
そしてa == bがfalseと判断し、elseの下に書かれた処理が実行されました。
if文のネスト
if文はネストとよばれる多重構造でif文の処理の中にif文を記述することが可能です。
以下のサンプルでは、if文をネストしてaの値を明確にしています。
例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
a = 50 if a > 0 : print ("aは正の数です。") if a > 100 print ("aは100より大きいです。") elif a < 50 print ("aは50より小さいです。") else print ("aは50と100の間です。") else print ("aは負の数です。") if a < -100 print ("aは-100より小さいです。")0 elif a < -50 print ("aは-50より小さいです。") else print ("aは-100から-50の間です。") |
出力結果
aは正の数です。aは50と100の間です。
ショートハンド(if)
実行する処理が1つしかない場合は、if文と同じ行に書くことができます。
例
1 2 3 |
a = 23 b = 20 if a > b: print("aはbよりも大きいです。") |
出力結果
aはbよりも大きいです。
ショートハンド(if-else)
実行する処理が1つだけの場合、1つはifに対して、もう1つはelseに対して、すべてを同じ行に書くことができます。
ショートハンド(if-else)の例1
1 2 3 |
a = 20 b = 30 print("A") if a > b else print("B") |
出力結果
B
aとbの値を入れ替えて実行してみます。
ショートハンド(if-else)の例2
1 2 3 |
a = 30 b = 20 print("A") if a > b else print("B") |
出力結果
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を返します。 |
比較演算子を使った例
例
1 2 3 4 5 6 7 |
a = 30 b = 30 if a != b : print ("aとbは違う値です。") else: print ("aとbは同じ値です。") |
出力結果
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を返します。 |
論理演算子を使った例
例
1 2 3 4 5 6 7 |
a = 30 b = 30 if a = 30 and b == 30 : print ("aとbは同じ値です。") else: print ("aとbが同じ値ではありません。") |
出力結果
aとbは同じ値です。
ST
株式会社flyhawkのSTです。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。