..

Search

8) 불리언 타입

불리언 타입


불리언 타입(boolean types) : bool

불리언 타입이란 논리값인 참(True)과 거짓(False) 중 한 가지만을 가질 수 있는 데이터 타입을 의미합니다.

 

파이썬에서는 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)으로 인식됩니다.

 

bool() 함수는 인수로 전달된 데이터의 참과 거짓을 판단하여 반환합니다.

비교 연산자(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

연습문제