답변
파이썬 단락을 평가합니다. 귀하의 예를 들어, 첫 번째 1
에서 표현
1 or (1/0) and 1
완료 평가 및 True
를 반환합니다.
최소한의 예제는 파이썬의 단락 평가를 보여줍니다. 식을 고려
는(1/0) or 1
이 (1/0)
의 평가시 ZeroDivisionError
예외를 발생시킵니다. 그러나 표현 :
1 or (1/0)
단락은 True
으로 평가됩니다. 하위 표현식 (1/0)
이 평가되지 않으므로 예외가 발생하지 않습니다.
b or anything_else
은 anything_else를 평가하지 않고 b가 true-ish 인 경우 b를 반환하도록 정의됩니다. 첫 번째 1이 true-ish이기 때문에 1/0이 평가되지 않으므로 오류가 발생하지 않습니다. "true-ish"는 파이썬이 true로 간주하는 모든 값, 즉 True
부울 값을 의미하지 않습니다. 첫 번째 1 대신 True 또는 [2]를 사용하여 표현을 시험해보십시오.
이 정보가 포함 된 공식 문서에 대한 링크를 게시 할 수 있습니까? –
Python 2의 경우 : https://docs.python.org/2/reference/expressions.html#boolean-operations –
이 질문은 아직 질문되지 않았습니다. 파이썬에서 NOT AND & OR의 우선 순위를 언급하는 질문은 여기에서 일어나는 단락 회로 평가를 다루지 않습니다. –