Python 우선 순위 및 연결: (1 in [1,0] == True)에서 예기치 않은 결과가 나타나는 이유는 무엇입니까?
Python에서, (1 in [1,0] == True) 표현식은 False로 평가되는데, 이는 직관에 반하는 것처럼 보일 수 있습니다. 그 이유를 이해하려면 Python의 연산자 우선 순위와 연결에 대해 아는 것이 중요합니다.
연산자 우선 순위는 표현식의 다양한 연산자가 평가되는 순서를 결정합니다. 이 경우 in 연산자는 비교 연산자 ==보다 우선순위가 높습니다. 따라서 표현식은 (1 in [1,0]) == True로 구문 분석되며, 여기서 (1 in [1,0])이 먼저 평가됩니다.
인터프리터가 (1 in [1, 0]), 목록 [1,0]에 1이 있으므로 True를 반환합니다. 그러나 표현식은 여기서 끝나지 않습니다.
Python은 비교 연산자에 체인을 사용합니다. 연결을 사용하면 단일 표현식에서 여러 비교를 수행할 수 있습니다. 이 경우 (1 in [1,0]) == True 표현식은 다음과 같이 번역될 수 있습니다.
(1 in [1,0]) 및 ([1,0] == True)
([1,0]의 1)을 True로 평가한 후 통역사는 ([1,0] == True) 평가를 진행합니다. [1,0]은 목록이고 True는 부울 값이므로 이 비교는 False로 평가됩니다.
따라서 연결된 비교의 두 조건이 모두 충족되지 않기 때문에 전체 표현식은 False로 평가됩니다. 단순히 우선순위의 문제가 아니라 우선순위와 연쇄의 조합이 이런 결과를 낳게 됩니다.
위 내용은 Python에서 (1 in [1, 0] == True)가 False로 평가되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!