2017-12-22 3 views
-2

파이썬에서 True != TrueFalse이고 False != TrueTrue이어야합니다. 그러나 평가 결과가 True일까요?왜 그렇습니까! = True! = True는 False로 평가됩니다.

+0

나는 이것을 실행했다 : print (True! = True) print (False! = True). 그리고 나는 False True로 출력한다. 나는 당신의 의심이 정확히 무엇인지 여기에서 얻지 못한다. –

+1

의심스러운 점은 조건이 산술 연산과 같이 순차적으로 누적 적으로 평가된다고 생각하기 때문입니다. 대신, 이것은 실제로 하나의 동시 검사 체인 ('and' 연산에 의해 연결됨)입니다. – gandreadis

+3

[비교를위한 문서] (https://docs.python.org/3/reference/expressions.html#comparisons)를 참조하십시오. – Galen

답변

6

이것은 두 검사가 독립적으로 수행되기 때문입니다. True != True != TrueTrue != True and True != True과 동일하며 피연산자 중 어느 것도 True으로 평가되지 않으므로 False으로 평가됩니다 (실제로 단락으로 인해 두 번째 비교를 평가하지 않습니다).

관련 documentation :

비교는 예를 들어, x < y <= z은 (그러나 z 전혀 평가되지 않습니다 두 경우 모두 x < y이 발견 될 때 한 번만 평가 될 수 y 제외하고, x < y and y <= z에 해당 임의로 체인 될 수있다 거짓이 됨).

관련 문제