[python] 조건문에서의 단축 평가
파이썬에서는 조건문을 평가할 때, 단축 평가(short-circuit evaluation)를 사용할 수 있습니다. 조건식이 and
나 or
연산자로 구성되어 있는 경우, 두 번째 피연산자의 값에 따라 첫 번째 피연산자를 평가하지 않을 수 있습니다.
and 연산자의 단축 평가
and
연산자를 사용한 조건문에서 첫 번째 피연산자가 False
라면 두 번째 피연산자를 평가하지 않습니다.
a = 5
b = 10
if a > 0 and b / a > 2:
print("Both conditions are True")
위의 예제에서 a
가 0보다 크지 않기 때문에 b / a > 2
가 평가되지 않으므로, Both conditions are True
가 출력되지 않습니다.
or 연산자의 단축 평가
or
연산자를 사용한 조건문에서 첫 번째 피연산자가 True
라면 두 번째 피연산자를 평가하지 않습니다.
a = 0
b = 10
if a == 0 or b / a > 2:
print("At least one condition is True")
위의 예제에서 a
가 0이기 때문에 b / a > 2
가 평가되지 않으므로, At least one condition is True
가 출력됩니다.
단축 평가는 코드를 더 효율적으로 작성할 수 있도록 도와주며, 예상치 못한 에러를 방지할 수 있습니다. 하지만 이로 인해 가독성과 의도를 모호하게 만들 수 있으므로 사용 시 주의가 필요합니다.
참고 자료: Python Documentation