본문 바로가기
Python/파이썬 훈련소(기초)

[파이썬 훈련소] 불(bool) 연산

by 북마크한 취미생활 2021. 3. 29.

| 불(bool) 자료형

불(bool) 연산을 배우기 위해서는 불(bool)이라는 자료형이 무엇인지 이해하는 것이 필요합니다. 불(bool) 자료형은 간단히 참(True)과 거짓(False)을 나타내는 자료형입니다. 참과 거짓이라고 하면 쉽게 이해가 잘 안 되실 텐데요. 조금 더 쉽게 설명을 드리기 위해 아래 그림과 같이 노란색 상자에 붉은색 공이 들어있다고 가정하고 설명드리겠습니다.

누군가가 "상자 색이 노란색인가요?"라고 질문한다면 답변을 어떻게 할까요? 당연히 상자 색이 노란색이기 때문에 "네, 맞습니다(True)."라고 답변할 것입니다.

다른 누군가가 "상자 색이 검은색인가요?"라고 질문한다면 상자는 노란색이기 때문에 "아니요(False)."라고 답변을 할 것입니다.

불(bool) 자료형은 이렇듯, 어떤 판단 값의 결과인 참(True)과 거짓(False)에 대한 자료형입니다. 자료형이 참(True)과 거짓(False)이라는 것이 이상하게 들리겠지만, 컴퓨터의 세계에서는 이것이 중요한 특징이며 꽤 유용하게 사용되고 있는 개념입니다.

질문(조건)을 만들어 그것에 대한 결과를 보는 것이 가장 좋은 방법이긴 하지만 그것은 다른 포스팅에서 설명드리도록 하고, 지금은 간단히 불(bool) 자료형 테스트를 위해 쉘 프롬프트에 'True'를 입력하고 [엔터] 키를 눌러서 반환 결과만 확인하겠습니다.

>>> True
True

다시 'False'를 입력하고, [엔터] 키를 눌러서 결과를 확인해 보겠습니다.

>>> False
False

쉘 프롬프트에서 입력한 불 자료형에 대해 True는 True로, False는 False로 결과로 반환됨을 확인할 수 있습니다.

| 불(bool) 연산자

불(bool)이라는 자료형도 처음 들었을 텐데, 불이라는 연산자도 있다고 하니 어렵다고 생각이 드실 텐데요. 불 연산자도 생각 외로 쉬우니 한번 집중해서 보시면 이해가 될 것입니다.

처음에 불(bool) 자료형을 설명할 때 노란색 상자에 공이 한 개가 들어 있다고 이야기드린 것 기억나시나요? 이 그림을 가지고 다시 설명을 드리도록 하겠습니다.

and

누군가가 그림을 보고 "상자는 붉은색이고 은 붉은색인가요?"라고 물어보면 뭐라고 답변하실 건가요? 상자의 색상이 붉은색이 아닌 노란색이기 때문에 "아니오(False), 상자는 노란색이고 공은 노란색입니다"라고 답변을 할 것입니다.

또, 다른 누군가가 "상자는 노란색이고 은 붉은색인가요?"라고 질문을 한다면, 상자와 공의 색이 모두 맞기 때문에 답변은 "맞습니다(True)."라고 답변을 할 것입니다.

아마 눈치가 빠른 분이라면 두 개의 질문이 '이고'를 통해 붙어 있다는 것이 보일 텐데요. 이렇게 두 개의 질문을 붙여서 그 질문이 모두 맞는지(True), 틀린 지(False)를 확인할 때 사용하는 연산자가 바로 불 연산자 and입니다.

and 연산자는 질문이 하나라도 정답과 다르면 False를 반환을 합니다. and 연산을 정리하면 다음과 같습니다.

연습을 위해 쉘 프롬프트에 다음과 같이 입력을 하고 and 연산을 테스트해 보면, 모두 True인 경우에만 True가 반환됩니다. 사실 True와 False라고 적은 부분에 코드상에 판단할 수 조건이 들어가야 하는데, 이것은 다른 포스팅에서 설명을 드리도록 하겠습니다. 참고로 조건이 성립하면 'True'를 성립하지 않으면 'False'가 반환됩니다.

>>> False and False
False
>>> False and True
False
>>> True and False
False
>>> True and True
True

or

누군가가 "상자 색이 노란색 또는 파란색이 맞나요?"라고 질문을 하면 상자의 색이 노란색이 맞기 때문에 "네(True)"라고 답변을 할 것입니다.

or 연산자는 질문 중에 "또는(혹은)"이라는 의미로 앞뒤 질문 중에 하나라도 맞으면 True 값을 반환을 하는 특징이 있습니다. or 연산자를 정리하면 다음과 같습니다.

연습을 위해 쉘 프롬프트에 다음과 같이 입력을 하고 or 연산을 테스트해 보면, 하나라도 True가 있으면 True가 반환됨을 확인할 수 있습니다.

>>> False or False
False
>>> False or True
True
>>> True or False
True
>>> True or True
True

not

not 연산자는 한마디로 청개구리와 같은 연산자입니다. 참은 거짓으로, 거짓은 참으로 만들어 버리는 반대로 만들어 버리는 성질을 가지고 있기 때문입니다. 사용방법은 간단히 문장 앞에 not을 붙이기만 하면 됩니다. 이해를 위해 쉘 프롬프트에 다음 코드를 입력하고 not 연산자의 특징을 확인해 봅니다.

>>> not True
False
>>> not False
True

not  연산자로 인해 True는 False로, False는 True로 인식됨을 확인할 수 있습니다.

지금까지 불(bool) 자료형과 불(bool) 연산자에 알아보았는데요. 코딩을 처음 하시는 분들은 쉽지 않은 개념입니다. 그렇지만, 중요한 개념이니 반드시 이해해 보시길 바랍니다. 긴 글 읽어 주셔서 감사합니다.

반응형

댓글