2017-09-15 2 views
0

을의 불연속, 우선 순위가 가장 높은에서 가장 낮은 not, and, or, 왜 1 or 2 and 1/0 1로 평가합니까되는 것을 말했다이야?파이썬 부울 우선 순위

나의 가장 좋은 추측은 2 and 1/0을 or 문의 한쪽으로 간주하고 1을 보았기 때문에 단락되었다는 것입니다. 그러나 그렇다면, 우선 순위의 요지는 무엇입니까?

+3

우선 순위가 아닌 "우선 순위"이며 우선 순위는 평가 순서가 아닌 인수 그룹화를 제어하는 ​​것입니다. – user2357112

답변

0

"혼란은"높은 "과"낮은 "우선 순위의 의미를 이해하는 것입니다.

예에서 1 or 2 and 1/0 인 경우 andor보다 우선합니다. 그래서, and 부분은 첫번째 그룹화 : @ user2357112 말한다

1 or (2 and 1/0) 

,이 그룹은 평가 순서를 의미하지 않습니다 1/0은 아직 평가되지 않았습니다.

는 효과적으로 다음 구문 트리 제작되었습니다 : 당신이 짐작으로

or 
/ \ 
1  and 
    / \ 
    2 1/0 

따라서는 or 문을 먼저 평가 : 평가자가 단락 오른쪽 하위 트리에 아무 것도 고려할 필요가 없습니다 수 있습니다 .

+0

위대한, 감사합니다! 나무로 묘사하는 것은 매우 도움이되었습니다! –

관련 문제