[python] 조건문에서의 단축 평가

파이썬에서는 조건문을 평가할 때, 단축 평가(short-circuit evaluation)를 사용할 수 있습니다. 조건식이 andor 연산자로 구성되어 있는 경우, 두 번째 피연산자의 값에 따라 첫 번째 피연산자를 평가하지 않을 수 있습니다.

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