logo

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

Python-lògic-o-operador

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