Operador Python OR
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
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
# 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> )> |
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
# 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.