Operator Pythona LUB
Operator OR języka Python pobiera co najmniej dwa wyrażenia logiczne i zwraca wartość True, jeśli którekolwiek z wyrażeń ma wartość True. Jeśli wszystkie wyrażenia mają wartość False, zwracana jest wartość False.
Schemat blokowy operatora LUB w języku Python
Tabela prawdy dla operatora OR w języku Python
| Wyrażenie 1 | Wyrażenie 2 | Wynik |
|---|---|---|
| PRAWDA | PRAWDA | PRAWDA |
| PRAWDA | FAŁSZ | PRAWDA |
| FAŁSZ | PRAWDA | PRAWDA |
| FAŁSZ | FAŁSZ | FAŁSZ |
Używanie operatora OR w języku Python z wyrażeniem boolowskim
Operator Python OR zwraca True, jeśli którekolwiek z przekazanych wyrażeń boolowskich ma wartość True.
Przykład: Operator Or z wyrażeniem boolowskim
Python3
bool1> => 2> >> 3> bool2> => 2> <> 3> > print> (> 'bool1:'> , bool1)> print> (> 'bool2:'> , bool2)> > # or operator> OR> => bool1> or> bool2> print> (> 'OR operator:'> , OR)> |
Wyjście
bool1: False bool2: True OR operator: True
Używanie operatora Python OR w if
W instrukcji if możemy użyć operatora OR. Możemy go użyć w przypadku, gdy chcemy wykonać blok if, jeśli którykolwiek z warunków stanie się if True.
Przykład: Or Operator z instrukcją 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> )> |
Wyjście
a lies between 5 and 15 a lies between 5 and 15 a lies between 5 and 15
Na powyższym wyjściu widzimy, że kod instrukcji if jest wykonywany zawsze. Dzieje się tak, ponieważ dla każdej wartości a jedno z wyrażeń boolowskich zawsze będzie miało wartość True, a blok else nigdy nie zostanie wykonany.
Operator Python OR – zwarcie
Operator Python Or zawsze ocenia wyrażenie, dopóki nie znajdzie wartości True, a gdy tylko znajdzie wartość True, reszta wyrażenia nie jest sprawdzana. Rozważ poniższy przykład dla lepszego zrozumienia.
Przykład: zwarcie w operatorze OR w języku Python
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)> |
Wyjście
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 powyższego przykładu widać, że stosowana jest ocena zwarciowa lub leniwa. W przypadku przypadku 1 i przypadku 2 drugie wyrażenie nie jest oceniane, ponieważ pierwsze wyrażenie zwraca wartość True, podczas gdy w przypadku przypadku 3 i przypadku 4 drugie wyrażenie jest oceniane, ponieważ pierwsze wyrażenie nie zwraca wartości True.