파이썬(Python)/문법

자료형 - 2. 논리자료형 bool

도솔비 2020. 2. 20. 15:46

논리자료형,

파이썬도 True(참)과 False(거짓)으로 논리의 옳고 그름을 가릅니다. 그것으로 조건문, 반복문같은 제어문에서 조건식으로써 실행할지 말지를 결정짓는 중요한 역할을 수행하기도 합니다. 

 

이러한 참, 거짓도 자료형을 가지고 있는데, 그것이 바로 bool(불, 부울)입니다. 이 자료형의 형태는 True or False, 참아니면 거짓, 1또는 0입니다. 

b1 = True
b2 = False
# 참고로 첫글자가 소문자면 안됩니다. 대문자 필수!
print(b1, type(b1), b2, type(b2))

출력결과

그렇지만 사실 다른 자료형도 조건문에 들어가면 참과 거짓으로 구분될 수 있습니다.

[], {}, (), "", '', None, 0 같은 것들은 자료형에서 빈데이터의 표현으로, 이것을 거짓(False)으로 인식하고,

반대로 비여있지않거나, 0이 아닌 값을 가질경우엔(숫자한정), 이것을 참(True)으로 인식합니다.

자료형 참(True) 거짓(False)
숫자(int, float, complex) 1,   -2,   3.43,   float("inf"),   float("nan"),   0+1j  0,   0.0,   0+0j
문자(str) "g",   '굿',   """ppap""",   '''와''',  " " "",   '',   """""",   ''''''
군집자료형(tuple, list, (dic, set) [1],   {1},   {1: '일'},   (1,) [],   {},   ()
그외(Nonetype)   None

 

만약 조건식을 사용하지 않고, 다른자료형을 참과 거짓으로 변환하고 싶다면 bool() 함수를 이용하면 됩니다.

print(bool([]), bool({}), bool(0), bool(""), bool(None))
print(bool([1]), bool({1}), bool(-3), bool("wow"), bool(0.1))

출력결과


분명 여기까지가 불 자료형의 설명끝이라면, 불 자료형이 시시해 보일수 있습니다. 근데, 다음에 배우는 여러가지 연산자들의 거의 대부분이 모두 불 자료형(True or False)으로 반환되며, 연산자들의 반환되는 값도 가지각색입니다.

 

그러니 이번시간에는 True와 False라는 것이 있고, 다른 자료형들도 True, False으로 구분된다는 개념만 챙기고,

다음시간의 연산자들로써 개념을 응용해보록 합시다!