단축평가는 빠르게 검사하기 위해
첫 번째 조건에서 이미 걸러질 것이라면 두 번째 조건을 보지 않는 것이다
어떻게 이렇게 되냐면
(첫 번째 조건) 연산자 (두 번째 조건)
ex) x<1 and x>-1
이라고 생각하면 python은 왼쪽 -> 오른쪽으로 연산을 하기 때문에 일어날 수 있는 일이다
밑의 표를 보면
X(첫 번째 조건, 왼쪽 조건) | Y(두 번째 조건, 오른쪽 조건) | OR | AND |
1 | 1 | 1 | 1 |
1 | 0 | 1 | 0 |
0 | 1 | 1 | 0 |
0 | 0 | 0 | 0 |
or 은 Y에 상관업이 X가 1(True)이면 무조건 결과가 True이다
그래서 X만 1이면 Y에 뭐가 오던지 읽지않고 바로 True가 된다
마찬가지로, and는 X가 0(False)이면 Y에 상관없이 결과가 False가 된다.
밑을 참고해도 된다
단락 평가 - IT위키
itwiki.kr
이 단락평가를 사용해서 예외처리를 하는 것을
가디언 패턴(Guardian Pattern)이라고 하는데
그건 다음 게시물에서..
'개발 > Python' 카테고리의 다른 글
[Python] 변수 (0) | 2021.09.28 |
---|---|
[Python] Guardian Pattern(가디언 패턴) (0) | 2021.08.06 |
[Python] 리스트 생성/만드는 방법 (0) | 2021.08.04 |
[Python] 해당 타입의 자료에 들어있는 메소드 알아내기 (0) | 2021.08.04 |
[Python] 파일 열기, 읽기 (0) | 2021.08.03 |