불(boolean) : 참(True), 거짓(False)을 나타냄
비교 연산자: 두 값의 관계를 판단
논리 연산자: 두 값의 논릿값을 판단
→ 둘 다 프로그래밍에서 매우 광범위하게 쓰임
→ if, while 구문을 작성할 때 자주 사용함.
값 자체를 비교
equal: ==
not equal : ! =
>>> 10 == 10
True
>>> 10 != 5
True
>>> 10 != 10
False
>>> 10 == 5
False
>>> 1 is 1.0 # 1은 정수, 1.0은 실수
False
>>> 1 is not 1.0
True
값을 비교 할 때 is 사용하면 안됨
변수a에 값(-5)을 할당하고 또 다시 다른 값(-6)을 할당한 뒤 a is -6을 실행하면 false 나옴.
→ 다른 객체가 되므로 값이 같더라도 is로 비교하면 false가 나옴.
not > and > or
→ 순서가 헷갈릴 때, 괄호로 우선순위를 나타내면 좋다.
논릿값을 뒤집음
not True = False
not False = True
>>> 10 == 10 and 10 != 5 # T and T
True
>>> 10 > 5 or 10 < 3 # T and F
True
>>> not 10 > 5 # not T
False
>>> not 1 is 1.0 # not F
True
>>> bool('문자열 False는 트루 입니다.')
True
False 일 때: 정수0, 실수 0.0, 빈 문자열 '',""
True 일 때: False일 때 외에 모든 숫자와 문자열
첫 번째 값만으로 결과가 확실할 때 두 번째 값은 확인(평가)하지 않는 방법
※ 주의:
>>> True and 'Python' # 문자열 'Python'을 True로 쳐서 and 연산자가 두 번째 값까지 확인하므로 두 번째 값이 반환됨.
'Python'
>>> 'Python' and True
True
>>> 'Python' and False
False
>>> False and 'Python'
False
>>> 0 and 'Python' # 0은 False이므로 and 연산자는 두 번째 값을 평가하지 않음
0
>>> True or 'Python'
True
>>> 'Python' or True
'Python'
>>> False or 'Python'
'Python'
>>> 0 or False
False