Python/Python Programming

[Python] 단축평가(short-circuit evalution)

Pydole 2018. 5. 15. 01:51

단축평가 : 첫 번째 값이 확실할 때, 두 번째 값은 확인 하지 않음

 


 

- 2개 이상의 논리식을 판별하기 위해서 'and', 'or', '&' , '|' 연산자를 사용. (연산 순서는 왼쪽 → 오른쪽)

 

- 파이썬의 경우 'and', 'or'의 경우 좌변 연산자가 우변 연산자보다 먼저 단축평가가 이루어짐

 

- 조건문에서 뒷 부분을 판단하지 않아도 되기 때문에 속도 향상

 

- 예외처리를 단축평가로 차단이 가능

 

 

 

 연산

 표현

설명

and

 print(False and True)

 

 첫번째 값이 False 이므로 두번째는 확인하지 않고 False

 

 a = 1

 b = 0

 

 if b and 10 / b:

    print(True)

 

 else:

    print(False)

 

 False

 

and

 print(False and False)

or  

 print(True or True)

 

 첫번째 값이 True 이므로 두번째는 확인하지 않고 True

 

 a = 1

 b = 0

 

 if a or 10 / b:

    print(True)

 

 else:

    print(False)

 

 True

 

or  

 print(True or False)