본문 바로가기
파이썬(Python)/파이썬(Python) 문법

파이썬 불(bool)

by 공.대.남 2018. 7. 11.
반응형

불 자료형이란?

불(bool) 자료형이란 참(True)과 거짓(False)을 나타내는 자료형이다.

불 자료형은 다음의 2가지 값만을 가질 수 있다.

  • True - 참
  • False - 거짓

※ True나 False는 파이썬의 예약어로 true, false와 같이 사용하지 말고 첫 문자를 항상 대문자로 사용해야 한다.

다음은 불 자료형을 사용하는 예제이다.

>>> a = True
>>> b = False

a라는 변수에는 True를 대입하고 b라는 변수에는 False라는 불 자료형을 대입해 보았다.

불 자료형은 조건문의 리턴값으로도 사용된다. 조건문에 대해서는 if문에서 자세히 배우겠지만 잠시만 살펴보고 넘어가도록 하자.

>>> 1 == 1
True

1 == 1 은 "1과 1이 같은가?"를 묻는 조건문이다. 이런 조건문은 결과로 True 또는 False에 해당되는 불 자료형을 리턴하게 된다. 1과 1은 같으므로 True를 리턴한다.

>>> 2 > 1
True

2는 1보다 크기 때문에 2 > 1 라는 조건문은 True를 리턴한다.

>>> 2 < 1
False

2는 1보다 작지 않기 때문에 2 < 1 라는 조건문은 False를 리턴한다.

자료형의 참과 거짓

자료형에 참과 거짓이 있다? 조금 이상하게 들리겠지만 참과 거짓은 분명히 있다. 이는 매우 중요한 특징이며 실제로도 자주 쓰인다.

자료형의 참과 거짓을 구분하는 기준은 다음과 같다.

참 or 거짓
"python"
""거짓
[1, 2, 3]
[]거짓
()거짓
{}거짓
1
0거짓
None거짓

문자열, 리스트, 튜플, 딕셔너리 등의 값이 비어 있으면(" ", [ ], ( ), { }) 거짓이 된다. 당연히 비어있지 않으면 참이 된다. 숫자에서는 그 값이 0일 때 거짓이 된다. 위의 표를 보면 None이라는 것이 있는데, 이것에 대해서는 뒷부분에서 배우니 아직은 신경 쓰지 말자. 그저 None은 거짓을 뜻한다는 것만 알아두자.

다음의 예를 보고 참과 거짓이 프로그램에서 어떻게 쓰이는지 간단히 알아보자.

>>> a = [1, 2, 3, 4]
>>> while a:
...     print(a.pop())
...
4
3
2
1

먼저 a = [1, 2, 3, 4]라는 리스트를 하나 만들었다.

while문은 3장에서 자세히 다루겠지만 간단히 알아보면 다음과 같다. 조건문이 참인 동안 조건문 안에 있는 문장을 반복해서 수행한다.

while 조건문:
    수행할 문장

즉, 위의 예를 보면 a가 참인 경우에 a.pop()을 계속 실행하라는 의미이다. a.pop()이라는 함수는 리스트 a의 마지막 요소를 끄집어내는 함수이므로 a가 참인 동안(리스트 내에 요소가 존재하는 한) 마지막 요소를 계속해서 끄집어낼 것이다. 결국 더 이상 끄집어낼 것이 없으면 a가 빈 리스트([ ])가 되어 거짓이 된다. 따라서 while문에서 조건이 거짓이 되므로 중지된다. 위에서 본 예는 파이썬 프로그래밍에서 매우 자주 이용하는 기법 중 하나이다.

위의 예가 너무 복잡하다고 생각하는 독자는 다음의 예를 보면 쉽게 이해가 될 것이다.

>>> if []:
...     print("참")
... else:
...     print("거짓")
...
거짓

if문에 대해서 잘 모르는 독자라도 위의 문장을 해석하는 데는 무리가 없을 것이다.

※ if문에 대해서는 03장에서 자세히 다룬다.

[ ]는 앞의 표에서 볼 수 있듯이 비어 있는 리스트이므로 거짓이다. 따라서 "거짓"이라는 문자열이 출력된다.

>>> if [1, 2, 3]:
...     print("참")
... else:
...     print("거짓")
... 

위 코드를 해석해 보면 다음과 같다.

만약 [1, 2, 3]이 참이면 "참"이라는 문자열을 출력하고 그렇지 않으면 "거짓"이라는 문자열을 출력하라.

위 코드의 [1, 2, 3]은 요소값이 있는 리스트이기 때문에 참이다. 따라서 "참"을 출력한다.

불 연산

자료형에 참과 거짓이 있음을 이미 알아보았다. bool 이라는 내장 함수를 이용하면 자료형의 참과 거짓을 식별할 수 있다.

다음의 예제를 따라 해 보자.

>>> bool('python')
True

'python'이라는 문자열은 빈 문자열이 아니므로 bool연산의 결과로 불 자료형인 True를 리턴한다.

>>> bool('')
False

'' 이라는 문자열은 빈 문자열이므로 bool 연산의 결과로 불 자료형인 False를 리턴한다.

위에서 알아본 몇 가지 예제를 더 수행 해 보자.

>>> bool([1,2,3])
True
>>> bool([])
False
>>> bool(0)
False
>>> bool(3)
True

위에서 알아본 것과 동일한 참과 거짓에 대한 결과가 리턴되는 것을 확인할 수 있다.

728x90
반응형

'파이썬(Python) > 파이썬(Python) 문법' 카테고리의 다른 글

파이썬에서의 제어문 if문  (0) 2018.08.06
파이썬 변수저장  (0) 2018.07.11
파이썬 집합  (0) 2018.07.11
파이썬 딕셔너리  (0) 2018.07.11
파이썬 튜플  (0) 2018.07.11

댓글