2016-03-23 1 views
0

В python 2.7 docs говорится, что or имеет более низкий приоритет, чем and. Но когда я печатаю в режиме холостого хода это:Я не понимаю приоритет оператора в python True и False или True

>>> True and True or False 
True 
>>> True and False or True 
True 
>>> True and False 
False 

Почему результат этого выражения True and False or TrueTrue?

+3

Потому что ... это как 'или' работает? ('или True' всегда будет' True') – miradulo

+0

В этом случае без какой-либо скобки приоритет равен, поэтому значения оцениваются слева направо, «Истина», «Ложь» или «Истина» = «(Истина и Ложь)» или «Истина» '=' False или True' = 'True'. –

+0

У меня было несколько утверждений в разделе «если» с некоторыми «не» операторами и допустил некоторые ошибки. Как удалить вопрос? :) И спасибо за ответы. –

ответ

0

Самый высокий приоритет означает, что, когда вы будете ставить круглые скобки

((True and True) or False) # True 
((True and False) or True) # True 
(True and False)   # False 
2

высшего приоритета означает, что оператор будет оцениваться перед оператором с более низким приоритетом, как, например, в арифметике, умножение должно оцениваться перед добавлением, так 1 + 2 * 3 приведет к 7 и не 9.

В вашей учетной записи True and False оценивается сперва, давая False. Затем этот результат оценивают с помощью оператора or (т. Е. False or True), что приводит к True.

1

Фактически, приоритет оператора не имеет ничего общего с этим результатом; это было бы одинаково везде, где вы ставите круглые скобки, так как or всегда возвращает True, если любой из его аргументов является истинным. Итак:

True and (False or True) == True and (True) == True 
(True and False) or True == (False) or True == True 
1

Вы заявление с просьбой сделать следующее

Первый питон оценивает выражение слева;

Оценка 1: Истинные и ложные (Поскольку это имеет значение ложного питона затем смотрит на или выражение)

Оценка 2: Правда или ложь

Который затем оценивает истинного

Вы можете также хотите взглянуть на логическую логику и таблицы истинности, чтобы помочь понять, как это работает.

Смежные вопросы