04-5 불
윤혜민·박현규 · 20 / 30 절마지막으로 배울 자료형은 불 자료형입니다. 불 자료형은 앞에서 in을 공부할 때 이미 True, False를 스쳐지나가듯 본 적이 있습니다. 불은 참과 거짓을 의미하는 자료형으로 2가지 유형의 데이터 True, False만 있습니다. 프로그래밍을 할 때는 참과 거짓을 판단해서 분기하여 처리하는 일이 많은데 불 자료형이 이것을 구분하는 열쇠가 됩니다.
불 기초 연습하기
불은 말 그대로 True, False라는 키워드를 사용하면 그 자체가 값이 됩니다. 문자열처럼 보일 수 있지만 문자열을 큰따옴표나 작은따옴표로 감싸야 하죠. 혹시라도 오해가 없기 바랍니다.
is_student = True
is_adult = False
print(is_student)
print(is_adult)
print(type(is_student))
[실행 결과]
True
False
<class 'bool'>
실행 결과에서 자료형을 검사해서 알려주는 type(is_student)의 출력값을 보면 <class 'bool'>입니다. 여기서 왜 불이라고 읽는지 알 수 있습니다.
불은 이렇게 직접 True, False로 입력하여 사용하는 일은 거의 없습니다. 나중에 공부하겠지만 다양한 표현식의 결과로 사용하는 일이 많습니다. 다음은 age에 숫자를 담아서 나이를 검사하는 코드입니다. >, ==, < 연산자는 이후 다시 공부하겠습니다. 수학 기호이므로 이해하는데 그렇게 어렵진 않을 겁니다.
age = 25
print(age > 20)
print(age == 30)
print(age < 18)
[실행 결과]
True
False
False
실행 결과를 보면 표현식 age > 20, age == 30, age < 18의 결과로 불을 반환하고 있습니다. 조건이 맞으면 True, 그렇지 않으면 False를 반환하고 있네요. 만약 여러분이 나이에 따라서 미성년자인지 아닌지를 구분하는 프로그램을 만들고 있다면 이후 배울 if문과 조합하여 프로그램을 분기 처리할 수 있을 겁니다.
age = 15
if age < 18:
print(f"{age}세는 미성년자입니다.")
print("보호자 동의가 필요합니다.")
[실행 결과]
15세는 미성년자입니다.
보호자 동의가 필요합니다.
if문이 등장한 김에 미리 if문을 설명하자면 if 다음에 나오는 불의 값이 True인지 False인지에 따라서 : 다음에 들여쓰기로 구분한 내용을 실행할지 말지 결정합니다. age < 18 표현식을 계산하면 True일 것입니다. 그래서 들여쓰기의 내용을 바로 출력한 것입니다. 만약 age에 20을 저장하고 프로그램을 실행하면 아무것도 출력되지 않을 것입니다.
age = 20
if age < 18:
print(f"{age}세는 미성년자입니다.")
print("보호자 동의가 필요합니다.")
[실행 결과]
(실행 결과 없음)
그림으로 이런 모습을 상상하면 됩니다.
[Note] 사실 이 그림은 분기를 처리하는 if문을 설명하기에 적합하지는 않습니다. 다만 현재의 코드에서는 의미가 충분히 전달되었다고 봅니다. 왜 이 그림이 if문을 설명하기에 적합하지 않은지는 if문을 공부할 때 다시 한 번 언급하면서 설명하겠습니다.

불은 이정도만 이해해도 충분합니다. 어차피 이후 문법을 공부하면서 불은 자연스럽게 알게 될 것입니다.
