-1
어떻게 작동합니까? 문서는 어디에 있습니까? 함수로서 or
연산자"또는"변수 할당에서 어떻게 작동합니까?
a = 0 or "" or None or 2
print(a)
a = 2 or "" or None or 0
print(a)
어떻게 작동합니까? 문서는 어디에 있습니까? 함수로서 or
연산자"또는"변수 할당에서 어떻게 작동합니까?
a = 0 or "" or None or 2
print(a)
a = 2 or "" or None or 0
print(a)
생각해
or(x, y):
if x:
return x
else:
return y
그럼
a = 0 or ""
a = or(0, "")
가 동일 할 것이다.
0
은
False
으로 계산되므로
""
을 반환합니다.
이제 a = 0 or "" or None or 2
이 ""
를 반환합니다 기본적으로
a = or(or(or(0, ""), None) 2)
가장 안쪽 or
이며, 다음 하나는 ""
여전히 False로 평가 실현하고 None
를 반환하고, 바깥 쪽 마침내 2
를 반환합니다.
통역사에 대한 약간의 실험을 통해 작동 방식을 신속하게 결정할 수 있습니다. – ChrisP
두 경우 모두 첫 번째 "거짓이 아닌"값을 반환하고 반환합니다. 첫 번째 경우 0, 빈 문자열 및 없음 모두 기본적으로 false와 동일하므로 2가 대답입니다. 두 번째 경우에는 2와 마주 치며 false와 같지 않으며 나머지 값을 확인하기 전에 반환됩니다. 꽤 직설적 인. 문서는 http://docs.python.org/release/2.5.2/lib/boolean.html에 있습니다. –