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
ciąg do rozmowy
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.