Operátor Pythonu ALEBO

Operátor Pythonu ALEBO

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

Python-logic-or-operator

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

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.