2016-09-07 12 views
2
에 대한
+0

이 질문은 아직 질문되지 않았습니다. 파이썬에서 NOT AND & OR의 우선 순위를 언급하는 질문은 여기에서 일어나는 단락 회로 평가를 다루지 않습니다. –

답변

1

파이썬 단락을 평가합니다. 귀하의 예를 들어, 첫 번째 1에서 표현

1 or (1/0) and 1 

완료 평가 및 True를 반환합니다.

최소한의 예제는 파이썬의 단락 평가를 보여줍니다. 식을 고려

(1/0) or 1 

(1/0)의 평가시 ZeroDivisionError 예외를 발생시킵니다. 그러나 표현 :

1 or (1/0) 

단락은 True으로 평가됩니다. 하위 표현식 (1/0)이 평가되지 않으므로 예외가 발생하지 않습니다.

2

b or anything_else은 anything_else를 평가하지 않고 b가 true-ish 인 경우 b를 반환하도록 정의됩니다. 첫 번째 1이 true-ish이기 때문에 1/0이 평가되지 않으므로 오류가 발생하지 않습니다. "true-ish"는 파이썬이 true로 간주하는 모든 값, 즉 True 부울 값을 의미하지 않습니다. 첫 번째 1 대신 True 또는 [2]를 사용하여 표현을 시험해보십시오.

+0

이 정보가 포함 된 공식 문서에 대한 링크를 게시 할 수 있습니까? –

+0

Python 2의 경우 : https://docs.python.org/2/reference/expressions.html#boolean-operations –