여기도 'N'one 처럼 true&false 가 아닌, True&False 로 입력해야 제대로 됨
==, !=, >, <, >=, <= 등등 자바에서 하던 것들 그대로
*is, is not
==,!= 은 값 자체를 비교하고
is, is not 은 객체를 비교한다
ex) 1 == 1.0 ----->True
1 is 1.0 ------>False (이유는 1 은 정수객체, 1.0은 실수객체이기 때문이다)
and, or, not
고1 때 배웠던 집합의 개념으로 이해하면 똑같다
and : 교집함
or : 합집합
not : 차집합
입력 10 == 10 and 10 != 5 # True and True
True
입력 10 > 5 or 10 < 3 # True or False
True
입력 not 10 > 5 # not True
False
입력 not 1 is 1.0 # not False
True
이처럼 있으면, 비교 연산자 먼저 한 다음에 논리 연산자로 계산해서 True, False 를 도출해낸다
단락 평가(short-circuit evaluation) : 첫 번째 값 만으로 결과가 확실할때 두 번째 값은 확인(평가)하지 않는 방법을 말함
***파이썬에서 논리 연산자는 마지막으로 단락 평가를 실시한 값을 그대로 반환하기 때문입니다. 따라서 논리 연산자는 무조건 불을 반환하지 않습니다.
--- 첫 번째 값만으로 결과과 결정되면 첫 번째 값이 반환됨
--- 두 번째 값까지 판단해야 한다면 두 번째 값이 반환됨
입력 True and 'Python'
'Python'
입력'Python' and True
True
입력 Python' and False
False