【Python】if文の基本パターンと使い方まとめ|実例で解説(elif, else, 比較演算子とブール演算子一覧)

Python-how-to-use-if-elif-else Python
記事内に広告が含まれていることがあります。
[PR]

Pythonのif文の条件で使える演算子の種類や、elifで複数の分岐を設定する方法を実例で解説しています。

if文の基本構文

if文は、条件分岐「else」「elif」の組み合わせで大きく4パターンある。

①条件分岐なし
②条件分岐1つ。真(True)か偽(False)か
③条件分岐2つ以上。指定した条件のみ処理実行。
④条件分岐2つ以上。偽(False)の場合の処理も設定

▼①条件分岐なし

条件に一致しない場合はなにもしない。パターン1(条件分岐なし)

if A:
    AAA

「A」:条件式
「AAA」:Aが成り立つ場合の処理

※条件式の末尾に「:」をつける。
※if文の中で実行するパターンはインデントを下げる。(一般的なエディタの場合「:」をつけて改行すればインデントが自動でつく)実例(条件分岐なし、Ture)

A = 100

if A == 100:
    print('Aは100です。')

#出力
# Aは100です。

実例(条件分岐なし、False)

A = 90

if A == 100:
    print('Aは100です。')

▼②条件分岐あり(elseのみ)

2つの分岐。真(True)か偽(False)か。パターン2(else)

if A:
    AAA
else:
    BBB

「A」:条件式
「AAA」:Aが成り立つ場合の処理
「else:」:Aが成り立たない場合
「BBB」:Aが成り立たない場合の処理

※elseの後に条件式は不要。
※「else:」常にダブルコロンとセットになる。実例(条件分岐あり、else)

A = 90

if A == 100:
    print('Aは100です。')
else:
    print('Aは100ではありません。')

#出力
# Aは100ではありません。

▼③条件分岐2つ以上(elseなし)

指定した条件でのみ処理を実行する。
elifで分岐条件と処理を記述。
 └ elif = else ifの略(他にもし~なら)パターン3(elif)

if A:
    AAA
elif B:
    BBB
elif C:
    CCC

 「A」:条件式
 「AAA」:Aが成り立つ場合の処理
 「elif B」:2つ目の条件式
 「BBB」:Bが成り立つ場合の処理
 「elif C」:3つ目の条件式
 「CCC」:Cが成り立つ場合の処理

※「elif」は複数設定可能。(上記だと2個のみ)
※「elif 条件式:」条件式の終わりに「:」をつける
※上から条件を確認し、Tureになったところで処理は終了する
※「if」および「elif」の条件に一致しない場合は処理なし実例(条件分岐あり、elif、True)

A = 70

if A == 100:
    print('Aは100です。')

elif A == 80:
    print('Aは80です。')

elif A == 70:
    print('Aは70です。')

#出力
# Aは70です。

実例(一致条件が複数)

A = 70
B = 100

if A == 100:
    print('Aは100です。')

elif B == 100:
    print('Bは100です。')

elif A == 70:
    print('Aは70です。')

#出力
# Bは100です。

上から条件が一致した時点で終了する。
 └「B == 100」も「A == 70」もTrueだが、上の「B == 100」がTrueになった時点で処理は終了となる。

▼④条件分岐2つ以上(elseあり)

偽(False)の場合の処理も設定パターン3(elif、else)

if A:
    AAA
elif B:
    BBB
elif C:
    CCC
else:
    DDD

 「A」:条件式
 「AAA」:Aが成り立つ場合の処理
 「elif B」:2つ目の条件式
 「BBB」:Bが成り立つ場合の処理
 「elif C」:3つ目の条件式
 「CCC」:Cが成り立つ場合の処理
 「else:」:いずれの条件にも該当しない場合
 「DDD」:いずれの条件に該当しない場合の処理

※「elif」は複数設定可能。(上記だと2個のみ)
※「elif 条件式:」条件式の終わりに「:」をつける実例(elif、else)

A = 50

if A == 100:
    print('Aは100です。')

elif A >= 80:
    print('Aは80以上です。')

elif A >= 70:
    print('Aは70以上です。')

else:
    print('Aは70以下です。')

#出力
# Aは70以下です。

条件式の演算子

条件式を作るために使う演算子。

▼2種類の演算子がある
・「比較演算子」要素の比較
・「ブール演算子」条件式の組み合わせ

演算子一覧

比較演算子意味
==等しい
!=等しくない
>より大きい(含まない)
>=以上(含む)
<未満(含まない)
<=以下(含む)
in要素を含む
not in要素を含まない
isオブジェクトが等しい
ブール演算子内容
andかつ
orまたは
notでない

比較演算子の実例

①「==」等しい

イコールは2つ。1つや3つ以上だとエラーになる。

(イコール1つは変数への代入)「==」等しい

A = 100

if A == 100:
    print('Aは100です。')
else:
    print('Aは100以外です。')

#出力
# Aは100です。

②「!=」等しくない

「!」が冒頭につくと、「~ではない」の意味になる。「!=」等しくない

A = 100

if A != 100:
   print('Aは100以外です。') 
else:
   print('Aは100です。')

#出力
# Aは100です。

補足:「!」の呼び名
エクスクラネーションマーク、感嘆符、ビックリマーク

③「>」より大きい(含まない)

③「>」より大きい

A = 50

if A > 50:
   print('Aは50より大きい。') 
else:
   print('Aは50以下。')

#出力
# Aは50以下。

④「>=」以上(含む)

「>=」以上(含む)

A = 50

if A >= 50:
   print('Aは50より大きい。') 
else:
   print('Aは50以下。')

#出力
# Aは50より大きい。

⑤「<」未満(含まない)

「<」未満(含まない)

A = 50

if A < 50:
   print('Aは50より小さい。') 
else:
   print('Aは50以上。')

#出力
# Aは50以上。

⑥「<=」以下(含む)

「<=」以下(含む)

A = 50

if A <= 50:
   print('Aは50以下。') 
else:
   print('Aは50より大きい。')

#出力
# Aは50以下。

⑦「in」要素を含む

if A in B
└ AはBの中に含まれる。
 ※Aの方が短い。Bの方が長い。「in」要素を含む

A = 'pen'
B = 'I have a pen'

if A in B:
   print('Yes') 
else:
   print('No')

#出力
# Yes

⑧「not in」要素を含まない

if A not in B
└ AはBの中に含まれない。「not in」要素を含まない

A = 'I have a pen'
B = 'pen'

if B not in A:
   print('Yes') 
else:
   print('No')

#出力
# No

➈「is」オブジェクトが等しい

オブジェクトに割り振られたid番号が等しいかを確認している。

「==」よりも厳格。「is」オブジェクトが等しい

A = 'I have a pen'
B = 'I have a pen'

if A is A:
   print('Yes') 
else:
   print('No')

#出力
# Yes

「is」異なるオブジェクトの比較

A = 'I have a pen'
B = 'I have a pen'

if A is B:
   print('Yes') 
else:
   print('No')

#出力
# No

ブール演算子の実例

条件を複数掛け合わせたいときに使用。
それぞれの演算子は併用可能。

①「and」かつ

if A and B:
└ 「A」「B」条件式

※条件は何個でも組み合わせ可能。「and」かつ

a = 1
b = 2

if a == 1 and b == 2:
    print('a=1, b=2です')
else:
    print('a=1, b=2ではない')

#出力
# a=1, b=2です

「and」かつ 例2

a = 1
b = 2
c = 3

if a == 1 and b == 2 and c != 3:
    print('a=1かつb=2かつ、3が3以外です')
else:
    print('a=1かつb=2かつ、3が3以外ではない')

#出力
# a=1かつb=2かつ、3が3以外ではない

②「or」または

if A or B:「and」かつ

a = 1
b = 2
c = 3

if a == 1 and b == 2 or c != 3:
    print('a=1かつb=2または、3が3以外です')
else:
    print('a=1かつb=2または、3が3以外ではない')

#出力
# a=1かつb=2または、3が3以外です



▼演算子は併用可能「and」と「or」

a = 1
b = 2
c = 3

if a == 100 and b == 200 or c != 3:
    print('a=1かつb=2または、3が3以外です')
else:
    print('a=1かつb=2または、3が3以外ではない')

#出力
# a=1かつb=2または、3が3以外ではない

③「not」ではない

if not A:
 └ 条件式の先頭につける「not」ではない

a = 100
b = 100

if not a == b:
    print('a=bではない')
else:
    print('a=bです')

#出力
# a=bです

「!=」と同じになる

a = 100
b = 100

if a != b:
    print('a=bではない')
else:
    print('a=bです')

#出力
# a=bです



■補足
if文はfor文の中で使われることが多い。
for文の中でif文を使うと、膨大な配列の中から、条件に一致した値のみを抜き出したりできる。

>for文についてはこちら

タイトルとURLをコピーしました