불형 bool
데이터 타입은 논리에서 사용하는 참값(참 혹은 거짓)을 나타낸다. 불형은 참과 거짓에 해당하는 True
와 False
, 단 두 개의 리터럴이 있다. bool
형에 적용할 수 있는 연산은 True
나 False
값을 가진 피연산자를 받아 평가해 결과적으로 True
나 False
가 된다. 얼핏 보기에 간단해 보이지만, bool
데이터 타입은 컴퓨터 과학의 기반이 된다. bool
객체에 정의된 연산자 and
, or
, not
은 논리 연산자로 알려져 있으며, 익히 알고 있듯이 다음과 같이 정의된다.
▼ 표 1.2.9 파이썬 bool형
값 |
참이나 거짓 |
||
리터럴 예 |
True False |
||
연산 |
논리곱 |
논리합 |
부정 |
연산자 |
and |
or |
not |
• a and b
는 두 피연산자 모두 True
일 때에만 True
이며, 그 외에는 False
이다.
• a or b
는 두 피연산자 모두 False
일 때에만 False
이며, 그 외에는 True
이다.
• not a
는 a
가 False
일 때 True
, a
가 True
일 때는 False
이다.
이렇게 간단히 정의되므로 쉽게 알 수 있지만, [표 1.2.10]에서 보는 것처럼 진리표(truth table)를 만들어 가능한 모든 연산의 결과를 정리해둘 필요가 있다. not
연산자는 피연산자를 하나만 가지며, 가능한 모든 값에 대한 연산 결과는 두 번째 열에 나와 있다. and
와 or
연산자는 두 개의 피연산자를 받으며, 가능한 모든 값에 대한 연산 결과는 오른쪽 끝에 있는 두 개의 열에 나와 있다.
▼ 표 1.2.10 bool 연산의 진리표
a |
not a |
|
a |
b |
a and b |
a or b |
False |
True |
|
False |
False |
False |
False |
True |
False |
|
False |
True |
False |
True |
|
|
|
True |
False |
False |
True |
|
|
|
True |
True |
True |
True |