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

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.