1. 부울(Bool)


오늘은 부울(Bool)에 대해서 알아보도록 하겠습니다. 이 부울이란 녀석은 참과 거짓을 나타내는 자료형이며, 참은 True로, 거짓은 False로 표현이 됩니다. 이 부울을 보자니 도대체 어디에 사용되는 녀석인지 생각이 도저히 나지 않으시는 분들도 계실겁니다. 왜 부울이라는 개념이 존재할까요? 참과 거짓은 도대체 어디에 사용되는 것일까요? 이는 파이썬 내의 논리 연산자를 통한 논리 연산이나, 수치를 서로 비교할때 사용하는 비교 연산자의 결과로 사용됩니다.

>>> 3 > 5
False
>>> 4 < 6
True
>>> 'a'=='b'
False
>>> 3.14!=3.14
False

위 예제에 쓰인 비교 연산자들을 차례대로 설명하자면, 1행과 3행에서는 어느게 더 큰가 작은가를 비교하는 연산자 >와 <가 사용되었으며, 5행에서는 서로 같은지 비교하는 연산자인 ==가, 7행에서는 서로 다른지 비교하는 연산자인 !=가 사용되었습니다. 다시 돌아와서, 1행의 '3 > 5'에서는 당연히 3보다 5가 크므로 False이 됩니다. 이어서 3행의 '4 < 6'에서는 4보다 6이 크므로 True가 됩니다. 5행의 'a'=='b'에서는 'a'와 'b'가 서로 같지 않으므로 False를, 7행의 '3.14!=3.14'에서는 서로 다르지 않으므로 False를 돌려주는 것입니다.


2. 논리 연산자


이번에는 비교 연산자에 이어서 논리 연산자에 대해서도 간단히 알아보도록 하겠습니다. 파이썬에서의 논리 연산자는 논리곱을 의미하는 and(&)가 있으며, 논리합을 의미하는 or(|)가 있으며, 부정을 의미하는 not이 있습니다. 논리곱(and)은 두 값이 모두 참이여야만 참을 내보내며, 논리합(or)은 두 값중 하나라도 참일 경우에 참을 내보내고, 부정(not)은 값을 부정하는 것으로써 참일 경우 거짓을, 거짓인 경우 참을 내보냅니다. 우선 예제를 보도록 합시다.

>>> True and False
False
>>> False or True
True
>>> not False
True
>>> 4 > 5 and 104 < 311.4
False

위 예제를 차근차근 살펴보자면, 1행에서 True와 False를 가지고 논리곱 연산을 합니다. 여기서는 두 값이 모두 참이 아니므로 False를 내보냅니다. 3행에서는 False와 True를 가지고 논리합 연산을 하는데, 두 값중에 참이 하나라도 있으므로 True를 내보냅니다. 5행에서는 False를 부정하여 반대되는 값인 True를 내보냅니다. 7행에서는 '4 > 5'에서 5가 더 크므로 False, '104 < 311.4'에서는 311.4가 더 크므로 True를 내보냅니다. 결과적으로 'False and True'가 되는 것이며 이는 False가 되는 것입니다. 논리 연산자와 관련된 것은 아니지만 한가지 예를 더 보도록 합시다.

>>> bool(0)
False
>>> bool(1)
True
>>> bool(5.41)
True
>>> bool([])
False
>>> bool('a')
True

위 예제에 사용된 내장 함수 bool은 임의의 형식을 가진 객체를 부울 형식으로 변환하는 것으로, 0과 값이 비어있는 경우는 False이며 0을 제외한 모든 값은 True라는 사실을 알 수 있습니다. 이 부울이란 녀석은, 나중에 배울 반복문이나 조건문 등과 같은데서 조건식으로 많이 쓰이니 앞으로 많이 만나보실 수 있으실 겁니다. 부울에 대한 설명은 여기까지 하도록 하고, 다음 강좌에서는 조건문에 대해 알아보도록 하겠습니다. 모두 수고하셨습니다!