불리언 타입
불리언 타입(boolean types) : bool
불리언 타입이란 논리값인 참(True)과 거짓(False) 중 한 가지만을 가질 수 있는 데이터 타입을 의미합니다.
C를 비롯한 대부분의 프로그래밍 언어에서 1은 ‘참’을 의미하고 0은 ‘거짓’을 의미합니다. 파이썬에서는 이에 더해 데이터의 참과 거짓을 다음과 같이 판단하고 있습니다.
예제
print(bool(1)) # True
print(bool(0)) # False
print(bool(None)) # False
print(bool([])) # False
print(bool(())) # False
print(bool({})) # False
print(bool([1,2,3])) # True
print(bool("")) # False
print(bool("python")) # True
실행 결과
True
False
False
False
False
False
True
False
True
문자열이나 리스트, 튜플, 딕셔너리 등이 비어있으면 거짓(False)으로 인식되며, 비어있지 않으면 참(True)으로 인식됩니다.
비교 연산자(relational operator)
비교 연산자는 피연산자 사이의 상대적인 크기를 판단하는 연산자로, 왼쪽의 피연산자와 오른쪽의 피연산자를 서로 비교하여 어느 쪽이 더 큰지, 작은지, 또는 같은지를 판단합니다.
비교 연산자 | 설명 |
---|---|
< | 왼쪽의 피연산자가 오른쪽의 피연산자보다 작으면 True를 반환함. |
<= | 왼쪽의 피연산자가 오른쪽의 피연산자보다 작거나 같으면 True를 반환함. |
> | 왼쪽의 피연산자가 오른쪽의 피연산자보다 크면 True를 반환함. |
>= | 왼쪽의 피연산자가 오른쪽의 피연산자보다 크거나 같으면 True를 반환함. |
== | 왼쪽의 피연산자와 오른쪽의 피연산자가 같으면 True를 반환함. |
!= | 왼쪽의 피연산자와 오른쪽의 피연산자가 같지 않으면 True를 반환함. |
비교 연산자로 연산한 결과는 언제나 불리언 타입으로 반환되므로, True나 False 중 하나의 값이 반환됩니다.
예제
i = 100
j = 10
print(i < j) # False
print(i >= j) # True
print(i == j) # False
print(i != j) # True
실행 결과
False
True
False
True
논리 연산자(logical operator)
논리 연산자는 주어진 논리식을 판단하여, 참(True)과 거짓(False)을 결정하는 연산자입니다.
논리 연산자 | 설명 |
---|---|
or | 논리식 중에서 하나라도 True이면 True를 반환함. |
and | 논리식이 모두 True이면 True를 반환함. |
not | 논리식의 결과가 True이면 False를, False이면 True를 반환함. |
예제
print((100 > 10) or (30 <= 3)) # True or False -> True
print((10 == 10) and (3 != 3)) # True and False -> False
print(not (3 <= 3)) # not True -> False
실행 결과
True
False
False
파이썬에서 or 연산자는 첫 번째 논리식의 결과가 False일 때만 두 번째 논리식을 검사합니다. 이것은 첫 번째 논리식의 결과가 True이면 두 번째 논리식을 검사하지 않고도 결과가 True임을 바로 알 수 있기 때문입니다.
또한, and 연산자는 첫 번째 논리식의 결과가 True일 때만 두 번째 논리식을 검사합니다. 첫 번째 논리식의 결과가 False이면 두 번째 논리식의 결과와 상관없이 언제나 결과는 False이기 때문입니다.
다음은 논리 연산자의 모든 결과를 나타내는 진리표(truth table)입니다.
A | B | A and B | A or B | not A |
---|---|---|---|---|
True | True | True | True | False |
True | False | False | True | False |
False | True | False | True | True |
False | False | False | False | True |