Оператор АБО Python
Оператор АБО Python приймає принаймні два логічних вирази та повертає значення True, якщо будь-який із виразів має значення True. Якщо всі вирази є False, тоді повертається False.
Блок-схема оператора АБО Python
Таблиця істинності для оператора АБО Python
| Вираз 1 | Вираз 2 | Результат |
|---|---|---|
| правда | правда | правда |
| правда | помилковий | правда |
| помилковий | правда | правда |
| помилковий | помилковий | помилковий |
Використання оператора АБО Python із логічним виразом
Оператор OR Python повертає значення True у будь-якому з переданих логічних виразів.
Приклад: або оператор із логічним виразом
Python3
bool1> => 2> >> 3> bool2> => 2> <> 3> > print> (> 'bool1:'> , bool1)> print> (> 'bool2:'> , bool2)> > # or operator> OR> => bool1> or> bool2> print> (> 'OR operator:'> , OR)> |
Вихід
bool1: False bool2: True OR operator: True
Використання оператора АБО Python у if
Ми можемо використовувати оператор АБО в операторі if. Ми можемо використовувати його у випадку, коли ми хочемо виконати блок if, якщо будь-яка з умов стає if True.
Приклад: Або оператор із оператором 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> )> |
Вихід
a lies between 5 and 15 a lies between 5 and 15 a lies between 5 and 15
У наведеному вище виводі ми бачимо, що код оператора if виконується завжди. Це пояснюється тим, що для кожного значення a один із логічних виразів завжди матиме значення True, а блок else ніколи не виконуватиметься.
Оператор АБО Python – коротке замикання
Оператор Python Or завжди обчислює вираз, доки не знайде значення True, і щойно він знайде значення True, решта виразу не перевіряється. Для кращого розуміння розгляньте наведений нижче приклад.
Приклад: коротке замикання в операторі АБО Python
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)> |
Вихід
Inside True Case 1 True Inside True Case 2 True Inside False Inside False Case 3 False Inside False Inside True Case 4 True
З наведеного вище прикладу ми бачимо, що дотримується короткого замикання або ледачого оцінювання. У case1 і case2 другий вираз не обчислюється, оскільки перший вираз повертає True, тоді як у case3 і case4 другий вираз обчислюється, оскільки перший вираз не повертає True.