(1 == 2 != 3)
이 파이썬에서 False
으로 평가되는 이유는 무엇입니까? ((1 == 2) != 3)
과 (1 == (2 != 3))
은 모두 True
입니까?(1 == 2! = 3)이 파이썬에서 False로 평가되는 이유는 무엇입니까?
여기에 어떤 연산자 우선 순위가 사용됩니까?
(1 == 2 != 3)
이 파이썬에서 False
으로 평가되는 이유는 무엇입니까? ((1 == 2) != 3)
과 (1 == (2 != 3))
은 모두 True
입니까?(1 == 2! = 3)이 파이썬에서 False로 평가되는 이유는 무엇입니까?
여기에 어떤 연산자 우선 순위가 사용됩니까?
이것은 연산자 chaining phenomenon
때문입니다. pydoc이은으로 설명한다 :
비교는 Y 한번만 평가 이외에는 예 X < Y는 < = Z가 X < 에 Y 및 Y < = Z 상당 임의로 체인 수 (그러나 의 경우 x는 < y가 거짓 일 때 전혀 평가되지 않습니다).
그리고 당신이 ==
및 !=
사업자의 precedence를 보면, 당신은 그들이 같은 우선 순위과 체인 현상에 따라서 적용이 있음을 알 수 있습니다.
그래서 기본적으로 어떤 일이 발생 :
A op B and B op C
이 따라서, 귀하의 예제가 평가 :
>>> 1==2
=> False
>>> 2!=3
=> True
>>> (1==2) and (2!=3)
# False and True
=> False
A가 op
는 비교 연산자 (https://docs.python.org/2.3/ref/comparisons.html)로 평가 C 대조적이다 곳 A op B op C
같은 표현을 체인 예 :
1 == 2 and 2 != 3
의 결과는 False
입니다.