Python 初心者は if文の or に注意!

スポンサーリンク

Pythonのif文は「and」「or」で条件をつなげることができますが、「or」の使い方には注意が必要です。

今回は、Python初心者が if文の or に注意すべき点を解説します。

Python if文のorに注意

orの使い方

bln1 = False
bln2 = False
bln3 = True

if bln1 and bln2 or bln3:
    print('True')
else 
    print('False')
#[結果] True

このif文の結果は「True」となります。Python初心者の人はこれに違和感を覚えるかもしれませんね。

「bln1 and bln2 or bln3」という条件は厳密にいうと「(bln1 and bln2) or bln3」となります。bln1、bln2が先にif文で判定され、その結果とbln3が判定されます。

つまり、「bln1とbln2がTrue、もしくはbln3がTrue」という条件となります。ここではbln1とbln2はFalseですが、bln3がTrueのため、結果はTrueとなります。

Pythonの「or」は優先順位が低くなり、orの前後でif文が途切れるので注意してください。

if文のブール型の判定

if bln1 and bln2 or bln3:
    print('True')

if bln1 == True and bln2 == True or bln3 == True:
    print('True')

上の2つのif文は同じ意味です。

Pythonのif文はTrueで判定するので、ブール型は「== True」を省略できます。省略して書いたのが1つ目の例です。どちらでもいいですが、簡単なのが1つ目の書き方です。

以上、Python初心者が if文の or に注意する点でした。

コメント