Python OR 演算子
Python OR 演算子は少なくとも 2 つのブール式を受け取り、いずれかの式が True の場合に True を返します。すべての式が False の場合、False を返します。
Python OR演算子のフローチャート
Python OR 演算子の真理値表
| 式1 | 式2 | 結果 |
|---|---|---|
| 真実 | 真実 | 真実 |
| 真実 | 間違い | 真実 |
| 間違い | 真実 | 真実 |
| 間違い | 間違い | 間違い |
ブール式での Python OR 演算子の使用
Python OR 演算子は、渡されたブール式のいずれかが True の場合に True を返します。
例: ブール式を使用した OR 演算子
Python3
bool1> => 2> >>> 3> bool2> => 2> <> 3> > print> (> 'bool1:'> , bool1)> print> (> 'bool2:'> , bool2)> > # or operator> OR> => bool1> or> bool2> print> (> 'OR operator:'> , OR)> |
出力
bool1: False bool2: True OR operator: True
if での Python OR 演算子の使用
if ステートメントでは OR 演算子を使用できます。いずれかの条件が True になった場合に if ブロックを実行したい場合に使用できます。
例: if ステートメントを使用した or 演算子
Python3
# or operator with if> def> fun(a):> > if> a>>> => 5> or> a <> => 15> :> > print> (> 'a lies between 5 and 15'> )> > else> :> > print> (> 'a is either less than 5 or greater than 15'> )> > > # driver code> fun(> 10> )> fun(> 20> )> fun(> 5> )> |
出力
a lies between 5 and 15 a lies between 5 and 15 a lies between 5 and 15
上記の出力では、if ステートメントのコードが常に実行されることがわかります。これは、 a のすべての値について、ブール式の 1 つが常に True になり、else ブロックが実行されないためです。
Python OR 演算子 – 短絡
Python の Or 演算子は、常に True が見つかるまで式を評価し、True が見つかるとすぐに式の残りの部分はチェックされません。より深く理解するために、以下の例を考えてみましょう。
例: Python OR 演算子の短絡
Python3
# short circuit in Python or operator> def> true():> > print> (> 'Inside True'> )> > return> True> > def> false():> > print> (> 'Inside False'> )> > return> False> > case1> => true()> or> false()> print> (> 'Case 1'> )> print> (case1)> print> ()> > case2> => true()> or> true()> print> (> 'Case 2'> )> print> (case2)> print> ()> > case3> => false()> or> false()> print> (> 'Case 3'> )> print> (case3)> print> ()> > case4> => false()> or> true()> print> (> 'Case 4'> )> print> (case4)> |
出力
Inside True Case 1 True Inside True Case 2 True Inside False Inside False Case 3 False Inside False Inside True Case 4 True
上記の例から、短絡または遅延評価が行われていることがわかります。 case1 と case2 では、最初の式が True を返すため、2 番目の式は評価されません。一方、case3 と case4 では、最初の式が True を返さないため、2 番目の式は評価されます。