Operátor Pythonu NEBO
Operátor Python OR vezme alespoň dva booleovské výrazy a vrátí True, pokud je některý z výrazů True. Pokud jsou všechny výrazy False, vrátí False.
Vývojový diagram operátora OR Pythonu
Pravdivostní tabulka pro Python OR operátor
| Výraz 1 | Výraz 2 | Výsledek |
|---|---|---|
| Skutečný | Skutečný | Skutečný |
| Skutečný | Nepravdivé | Skutečný |
| Nepravdivé | Skutečný | Skutečný |
| Nepravdivé | Nepravdivé | Nepravdivé |
Použití operátoru OR v Pythonu s booleovským výrazem
Operátor Python OR vrací True v kterémkoli z předávaných booleovských výrazů má hodnotu True.
Příklad: Nebo Operátor s booleovským výrazem
Python3
bool1> => 2> >> 3> bool2> => 2> <> 3> > print> (> 'bool1:'> , bool1)> print> (> 'bool2:'> , bool2)> > # or operator> OR> => bool1> or> bool2> print> (> 'OR operator:'> , OR)> |
Výstup
bool1: False bool2: True OR operator: True
Použití operátoru Python OR v if
V příkazu if můžeme použít operátor OR. Můžeme jej použít v případě, kdy chceme provést blok if, pokud se některá z podmínek stane pravdivou.
Příklad: Nebo Operátor s příkazem 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ýstup
a lies between 5 and 15 a lies between 5 and 15 a lies between 5 and 15
Ve výše uvedeném výstupu vidíme, že kód pro příkaz if se provede vždy. Je to proto, že pro každou hodnotu a bude jeden z booleovských výrazů vždy True a blok else nebude nikdy proveden.
Operátor OR Pythonu – zkrat
Operátor Python Or vždy vyhodnocuje výraz, dokud nenalezne True, a jakmile Found a True, zbytek výrazu není kontrolován. Pro lepší pochopení zvažte níže uvedený příklad.
Příklad: Zkrat v Pythonu NEBO 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ýstup
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 výše uvedeného příkladu můžeme vidět, že je dodržováno vyhodnocení zkratu nebo líného vyhodnocení. V case1 a case2 není druhý výraz vyhodnocen, protože první výraz vrací True, zatímco v case3 a case4 je druhý výraz vyhodnocen tak, že první výraz nevrací True.