L'operador Python OR pren almenys dues expressions booleanes i retorna True si alguna de les expressions és True. Si totes les expressions són falses, retorna False.
Diagrama de flux de l'operador Python OR

Taula de veritat per a l'operador Python OR
| Expressió 1 | Expressió 2 | Resultat |
|---|---|---|
| És cert | És cert | És cert |
| És cert | Fals | És cert |
| Fals | És cert | És cert |
| Fals | Fals | Fals |
Utilitzant l'operador Python OR amb expressió booleana
L'operador OR de Python retorna True en qualsevol de les expressions booleanes passades és True.
Exemple: O Operador amb expressió booleana
Python 3
matriu en cadena
bool1>=> 2>>>3> bool2>=> 2><>3> > print>(>'bool1:'>, bool1)> print>(>'bool2:'>, bool2)> > # or operator> OR>=> bool1>or> bool2> print>(>'OR operator:'>, OR)> |
>
>Sortida
bool1: False bool2: True OR operator: True>
Utilitzant l'operador Python OR a if
Podem utilitzar l'operador OR a la instrucció if. Podem utilitzar-lo en el cas en què volem executar el bloc if si alguna de les condicions passa a ser si True.
Exemple: O Operador amb declaració if
Python 3
python redueix
# 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>)> |
>
java llarg a cadena
>Sortida
a lies between 5 and 15 a lies between 5 and 15 a lies between 5 and 15>
A la sortida anterior, podem veure que el codi de la instrucció if s'executa sempre. Això és perquè per a cada valor de a, una de les expressions booleanes sempre serà True i el bloc else no s'executarà mai.
Operador Python OR: curtcircuit
L'operador Python Or sempre avalua l'expressió fins que troba una veritable i tan bon punt troba una vertadera, la resta de l'expressió no es verifica. Considereu l'exemple següent per a una millor comprensió.
Exemple: curtcircuit a l'operador Python OR
Python 3
vaja en java
# 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)> |
>
>Sortida
Inside True Case 1 True Inside True Case 2 True Inside False Inside False Case 3 False Inside False Inside True Case 4 True>
A partir de l'exemple anterior, podem veure que se segueix l'avaluació de curtcircuit o mandrosa. En cas1 i cas2, la segona expressió no s'avalua perquè la primera expressió retorna True, mentre que, en cas3 i cas4, la segona expressió s'avalua perquè la primera expressió no retorna True.
negreta en css