Operátor Python OR vezme aspoň dva boolovské výrazy a vráti hodnotu True, ak je niektorý z výrazov True. Ak sú všetky výrazy False, vráti False.
Vývojový diagram operátora OR Pythonu
Tabuľka pravdy pre operátora Python OR
Výraz 1 | Výraz 2 | Výsledok |
---|---|---|
Pravda | Pravda | Pravda |
Pravda | Nepravdivé | Pravda |
Nepravdivé | Pravda | Pravda |
Nepravdivé | Nepravdivé | Nepravdivé |
Použitie operátora Python OR s boolovským výrazom
Operátor Python OR vráti hodnotu True v ktoromkoľvek z odovzdaných booleovských výrazov má hodnotu True.
Príklad: Alebo operátor s boolovským výrazom
Python3
bool1> => 2> >> 3> bool2> => 2> <> 3> > print> (> 'bool1:'> , bool1)> print> (> 'bool2:'> , bool2)> > # or operator> OR> => bool1> or> bool2> print> (> 'OR operator:'> , OR)> |
>
>Výkon
bool1: False bool2: True OR operator: True>
Použitie operátora Python OR v if
V príkaze if môžeme použiť operátor OR. Môžeme ho použiť v prípade, keď chceme vykonať blok if, ak sa niektorá z podmienok stane pravdivou.
Príklad: Alebo operátor s príkazom if
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> )> |
>
>Výkon
čo je abecedné číslo
a lies between 5 and 15 a lies between 5 and 15 a lies between 5 and 15>
Vo vyššie uvedenom výstupe vidíme, že kód pre príkaz if sa vykonáva vždy. Je to preto, že pre každú hodnotu a bude jeden z boolovských výrazov vždy True a blok else sa nikdy nevykoná.
Operátor Pythonu OR – skrat
Operátor Python Or vždy vyhodnocuje výraz, kým nenájde hodnotu True a akonáhle nenájde hodnotu True, zvyšok výrazu sa nekontroluje. Pre lepšie pochopenie zvážte nižšie uvedený príklad.
Príklad: Skrat v Pythone OR operátor
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)> |
>
>Výkon
Inside True Case 1 True Inside True Case 2 True Inside False Inside False Case 3 False Inside False Inside True Case 4 True>
Z vyššie uvedeného príkladu vidíme, že je dodržané skratové alebo lenivé vyhodnotenie. V prípade 1 a 2 sa druhý výraz nevyhodnotí, pretože prvý výraz vráti hodnotu True, zatiaľ čo v prípade 3 a prípad 4 sa druhý výraz vyhodnotí tak, že prvý výraz nevráti hodnotu True.