logo

Operatore OR Python

L'operatore OR Python accetta almeno due espressioni booleane e restituisce True se una qualsiasi delle espressioni è True. Se tutte le espressioni sono False allora restituisce False.

Diagramma di flusso dell'operatore OR Python

Python-logico-o-operatore

Tabella della verità per l'operatore OR Python

Espressione 1 Espressione 2 Risultato
VERO VERO VERO
VERO Falso VERO
Falso VERO VERO
Falso Falso Falso

Utilizzo dell'operatore OR Python con espressione booleana

L'operatore OR Python restituisce True in qualsiasi espressione booleana passata è True.



Esempio: operatore Or con espressione booleana

Python3




bool1>=> 2>>>3> bool2>=> 2><>3> > print>(>'bool1:'>, bool1)> print>(>'bool2:'>, bool2)> > # or operator> OR>=> bool1>or> bool2> print>(>'OR operator:'>, OR)>

>

lungo da infilare
>

Produzione

bool1: False bool2: True OR operator: True>

Utilizzo dell'operatore OR Python in if

Possiamo usare l'operatore OR nell'istruzione if. Possiamo usarlo nel caso in cui vogliamo eseguire il blocco if se una qualsiasi delle condizioni diventa if True.

Esempio: operatore Or con l'istruzione 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>)>

>

>

Produzione

a lies between 5 and 15 a lies between 5 and 15 a lies between 5 and 15>

Nell'output sopra, possiamo vedere che il codice per l'istruzione if viene sempre eseguito. Questo perché per ogni valore di a, una delle espressioni booleane sarà sempre True e il blocco else non verrà mai eseguito.

Operatore OR Python – Cortocircuito

L'operatore Python Or valuta sempre l'espressione finché non trova un True e non appena trova un True, il resto dell'espressione non viene controllato. Considera l'esempio seguente per una migliore comprensione.

Esempio: cortocircuito nell'operatore Python OR

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)>

>

Java lungo da stringere

>

Produzione

Inside True Case 1 True Inside True Case 2 True Inside False Inside False Case 3 False Inside False Inside True Case 4 True>

Dall'esempio sopra, possiamo vedere che viene seguita la valutazione di cortocircuito o pigra. In case1 e case2, la seconda espressione non viene valutata perché la prima espressione restituisce True, mentre in case3 e case4 la seconda espressione viene valutata poiché la prima espressione non restituisce True.