2016-10-08 9 views
0
k = 10/3 
l = k <= 3 or True 

Значение для l в этом коде возвращает True. Как это возможно? В порядке оценки сравнения выше приоритетов, чем «или, не, и» операторы.Порядок оценки в Python

+0

Я обманываю это на этот вопрос http://stackoverflow.com/questions/16069517/python-logical-evaluation-order-in-if-statement, в котором существует большой верхний ответ, дополняющий мой короткий. –

ответ

0

Они имеют более высокий приоритет, но, то or operator works by:

Выражение x or y первый оценивает x; если значение x истинно, возвращается его значение; в противном случае вычисляется y и возвращается полученное значение.

С k является 3.3333333333333335, выражение k <= 3 является False, True будет оцениваться (для себя) и возвращаемых решения l == True.

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

  • Нет связанных вопросов^_^