상세 컨텐츠

본문 제목

[ Python 기초 문법 ] - 자료형(7) - 불 자료형

Language/Python

by bing_su 2023. 8. 5. 11:19

본문

반응형
SMALL

이번에 다룰 자료형은 불(bool) 자료형이다. 불(bool) 자료형은 참(True)거짓(False)을 나타내는 자료형이다. 즉, bool 자료형은 반환 값으로 'True' 또는 'False' 값만을 가질 수 있다.

[ 불 자료형 값 지정 ]

>>> a = True  # a의 값을 True로 지정
>>> b = False  #b의 값을 False로 지정

위와 같이 변수 a에는 True, 변수 b에는 False 값을 지정했다. 따옴표로 감싸지 않은 문자열인 True와 False를 변수에 지정해서 오류가 발생할 것 같지만 위의 코드에서는 오류가 발생하지 않는다.

>>> type(a)  # a의 자료형 확인
<class 'bool'>
>>> type(b)  # b의 자료형 확인
<class 'bool'>

bool 자료형은 조건문의 반환 값으로도 사용된다. 조건문에 대해서는 if 문을 다룰 때 자세히 배우니까 지금은 간단하게만 살펴보고 넘어가자.

>>> 1 == 1  # 1과 1이 동일한지 비교하는 조건문
True  # 참이므로 True 값 반환
>>> 2 > 1  # 2가 1보다 큰지 비교하는 조건문
True  # 참이므로 True 값 반환
>>> 2 < 1  # 2가 1보다 작은지 비교하는 조건문
False  # 거짓이므로 False 값 반환

[ 자료형의 참과 거짓 ]

자료형 자체에도 참과 거짓 값은 존재한다. 생각보다 중요한 내용이고, 많이 쓰기도 하니까 알아두자.

자료형 반환 값(참 or 거짓)
문자열 "python" True
"" False
리스트 [1, 2, 3] True
[ ] False
튜플 () False
딕셔너리 {} False
숫자형 0이 아닌 숫자 True
0 False
  None False

문자열, 리스트, 튜플, 딕셔너리 등의 자료형 값이 비어 있으면(" ", [ ], ( ), { }) False 값이 반환된다. 비어 있지 않은 경우에는 True 값이 반환된다. 숫자에서는 그 값이 0이 될 때만 False 값이 반환된다. None은 현재 수준에서는 False를 뜻한다고 생각하면 된다. (추후에 조금 더 자세히 다룰 예정)

※ 자료형의 참과 거짓 활용 프로그램

>>> a = [1, 2, 3, 4]  # [1, 2, 3, 4] 리스트를 만들어서 변수 a에 저장
>>> while(a):  # a = True, 즉, a가 참일 동안 반복문 실행
…	a.pop()  # 리스트의 마지막 요소를 하나씩 꺼내서 출력함.

# 출력 화면
4
3
2
1

while 문은 추후에 자세히 다루겠지만 간단히만 알아보면 아래와 같이 정리할 수 있다.

while(조건문):
	수행할 문장

while(): 에서 괄호 안에 조건문이 들어간다. 해당 조건문이 참일 동안에 while 문 안에 속한 문장들이 반복해서 수행되는 것이 while 문의 기본 Logic이라고 생각하면 된다. (어차피 나중에 설명할 내용)

>>> a = [1, 2, 3, 4]  # [1, 2, 3, 4] 리스트를 만들어서 변수 a에 저장
>>> while(a):  # a = True, 즉, a가 참일 동안 반복문 실행
…	a.pop()  # 리스트의 마지막 요소를 하나씩 꺼내서 출력함.

# 출력 화면
4
3
2
1

위의 예시를 다시 보자. 먼저 [1, 2, 3, 4]라는 리스트를 만들어서 변수 a에 저장하고 있다. 그리고 a가 참일 동안에(a 변수에 저장된 리스트에 값이 계속 존재할 경우에) a.pop()을 계속 실행하라는 반복문이 있다. pop() 함수는 해당 링크에서 다뤘지만 다시 간단히 설명하자면, 리스트의 맨 마지막 요소를 반환하고 해당 요소를 삭제하는 함수다. 이러한 개념을 활용해 반복문이 작동하는 Logic을 살펴보면 아래와 같다.

  1. 조건식: a가 참인지 확인한 후, 참이면 반복문이 실행된다.
  2. 반복문 내에 속한 a.pop() 함수가 실행된다. 즉, 리스트 a에 있는 마지막 요소를 계속해서 끄집어낸다.
  3. 다시 조건식으로 돌아가 a가 참인지 확인한 후, 거짓이 되면 반복문 실행이 종료된다.
    리스트 a는 빈 리스트([ ])가 되면 거짓이 된다. 즉, 반복문은 더 이상 끄집어낼 요소가 없을 때까지 실행된다.

이러한 Logic은 프로그래밍을 할 때 자주 사용되는 기법 중 하나다. 반복문에서 또 자세히 설명할 거니까 일단 지금은 '이런 게 있구나' 정도로 이해하고 넘어가시면 될 것 같습니다.

>>> if []:  # [](빈 리스트)가 참이면
… 	print("참")  # "참" 출력
… else:  # [](빈 리스트)가 참이 아니라면(=거짓이라면)
… 	print("거짓")  # "거짓" 출력

# 출력 화면
거짓  # [](빈 리스트)는 False 값을 반환하니까 "거짓" 출력

반복문 예시가 조금 복잡하다고 생각하는 사람을 위해 조금 더 간단한 예시를 제시하고자 한다. 빈 리스트([ ])는 앞에서 다뤘듯이 비어 있는 자료형이므로 False 값을 반환한다. 따라서 if 조건문은 조건식이 True일 때 코드가 실행된다. 해당 조건식은 빈 리스트([ ]), 즉, False 값을 가지므로 if 문이 실행되지 않고 else 문이 실행되어 "거짓"이 출력된다. if 문에 대해서는 추후에 더 자세히 다룰 예정이니 일단 이 정도로 짚고 넘어가도록 하자.

>>> if [1, 2, 3]:  # 리스트 [1, 2, 3]이 참이면
…	print("참")  # "참" 출력
… else:  # 리스트 [1, 2, 3]이 참이 아니라면(=거짓이라면)
…	print("거짓")  # "거짓" 출력

# 출력 화면
참  # 리스트 [1, 2, 3]은 True 값을 반환하니까 "참" 출력

[1, 2, 3] 리스트는 값이 존재하는 자료형이므로 True 값을 반환한다. 따라서 조건식인 [1, 2, 3] 리스트는 True 값을 가지므로 if 문이 실행되어 "참"이 출력된다.

[ 불 연산 ]

지금까지는 자료형에 참과 거짓이 있음을 알아봤다. 이번에는 bool 내장 함수를 사용하여 자료형의 참과 거짓을 식별해 보려고 한다. 아래의 예제를 따라 하며 실습을 진행하자.

>>> bool('python')  # 문자열 'python'의 참/거짓 식별
True

'python' 문자열은 값이 존재하는 자료형이므로 bool 연산 결과 True 값이 반환된다.

>>> bool('')  # 비어있는 문자열 ''의 참/거짓 식별
False

''문자열은 빈 문자열이므로 bool 연산의 결과로 False 값이 반환된다. 몇 가지 예제를 더 수행해보자.

>>> bool([1, 2, 3])  # 리스트 [1, 2, 3]의 참/거짓 식별
True
>>> bool([])  # 빈 리스트 []의 참/거짓 식별
False
>>> bool(0)  # 숫자형 0의 참/거짓 식별
False
>>> bool(3)  # 숫자형 3의 참/거짓 식별
True

위의 표에서 살펴본 것과 같이 자료형의 True, False 값을 bool 연산을 통해 알 수 있다.

 

지금까지 파이썬의 가장 기본이 되는 자료형인 숫자형, 문자열, 리스트, 튜플, 딕셔너리, 집합, 불에 대해 알아봤다. 여기까지 잘 따라오기만 했다면 파이썬에 대해 반은 습득했다고 봐도 된다. 그만큼 자료형은 프로그램을 설계하는 근간이 되고 중요하다. 따라서 확실히 해 둬야 좋은 프로그램을 설계할 수 있다. 다뤘던 예제뿐만 아니라 다른 예시들도 테스트하며 자료형에 익숙해지길 권장한다.

반응형
LIST

관련글 더보기

댓글 영역