2013-06-06 2 views
-1

어떻게 작동합니까? 문서는 어디에 있습니까? 함수로서 or 연산자"또는"변수 할당에서 어떻게 작동합니까?

a = 0 or "" or None or 2 
print(a) 

a = 2 or "" or None or 0 
print(a) 
+1

통역사에 대한 약간의 실험을 통해 작동 방식을 신속하게 결정할 수 있습니다. – ChrisP

+1

두 경우 모두 첫 번째 "거짓이 아닌"값을 반환하고 반환합니다. 첫 번째 경우 0, 빈 문자열 및 없음 모두 기본적으로 false와 동일하므로 2가 대답입니다. 두 번째 경우에는 2와 마주 치며 false와 같지 않으며 나머지 값을 확인하기 전에 반환됩니다. 꽤 직설적 인. 문서는 http://docs.python.org/release/2.5.2/lib/boolean.html에 있습니다. –

답변

1

생각해

or(x, y): 
    if x: 
     return x 
    else: 
     return y 

그럼 a = 0 or "" a = or(0, "")가 동일 할 것이다. 0False으로 계산되므로 ""을 반환합니다.

이제 a = 0 or "" or None or 2""를 반환합니다 기본적으로

a = or(or(or(0, ""), None) 2) 

가장 안쪽 or이며, 다음 하나는 "" 여전히 False로 평가 실현하고 None를 반환하고, 바깥 쪽 마침내 2를 반환합니다.

관련 문제