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

이 코드에서 l 값은 True를 반환합니다. 이것이 어떻게 가능한지? 평가 순서에 따라 비교는 "or, not 및"연산자보다 우선 순위가 높습니다.Python의 평가 순서

+0

나는이 짧은 질문을 보완하기위한 위대한 답변이 존재하는이 질문에 속는다. http://stackoverflow.com/questions/16069517/python-logical-evaluation-order-in-if-statement –

답변

0
그들은 더 높은 우선 순위를 가지고 할

만의 or operator works by :

처음 x or yx 평가 표현; x이 참이면 해당 값이 반환됩니다. 그렇지 않으면 y이 평가되고 결과 값이 반환됩니다. k3.3333333333333335 때문에

표현식은 k <= 3True는 (자체) 평가하려고하고 l == True을 반환 False이다.