본문 바로가기
Python

07 파이썬 Boolen(참,거짓)

by To올라운더 2023. 6. 24.
반응형

[1] Boolen 이란?

Boolen 이란 단어는 낯설지만

컴퓨터가 0과 1만 안다는 걸 들어본적이 있을 것이다.

 

컴퓨터가 사용하는 것처럼 상반된 2개의 상태를 

여러가지 형태로 나타낼 수 있는데,

0과 1 / 참과 거짓 / ON과 OFF 의 형태이다.

컴퓨터는 위와 같이 간단한것 같으면서도 명확한 세상을 살아간다.

그런데 실제 삶에서는 어떤가?

삶에서는 참과 거짓 이분법으로 세상을 구별할 수 없다.

참과 거짓 사이에 모르는 것이나 애매한 것들이 있을 수 있다.

하지만 이러한 현실의 삶도 냉혹한 컴퓨터의 세계에 녹여내기 위해서는

이런 애매함을 허용하지 않고

오로지 참과 거짓만으로 평가하는데 이를 Boolen 이란 자료형으로 부른다.

 

그럼 문자형이나 숫자 같은 다양한 값이 존재하는 유형들을 

어떻게 참과 거짓을 구별할까?

당연히 미리 정해져 있는 아래의 약속대로 처리한다.

(*이 약속은 프로그래밍 언어마다 차이가 있다.

 *Boolen을 Bool 또는 Boole 로 표기하는 책도 있지만

영국의 수학자인 Boole 이 만들엇다는 의미의 Boolen 이기 때문에

위의 3가지 용어가 의미의 차이는 없고 동일한 자료형을 의미한다. )

 

 

1. 파이썬에서의 Boolen 

 - Boolen은 참과 거짓의 상태가 예약어로 지정되어 있는데,

   바로 True와 False이다. 주의해야하는 점은 예약어 이기 때문에 다른 변수로 사용할 수 없고,

   대소문자(첫글자만 대문자)에 유의해야한다.

print(type(True))
print(type(False))

 

2. 각 자료형에서의 Boolean

 - 문자형(String)

   : 문자형은 내용에 상관없이 값이 있으면 True, 없으면 False 이다.

str1 ='string'
print(bool(str1)) # 결과 값 True
print(bool('test')) # 결과 값 True
str2 = ''
print(bool(str2)) # 결과 값 False
print(bool('')) # 결과 값 False

 

 - 숫자형(Int, Folat)

  : 숫자형은 값이 0이 아닐 때 True, 0 일 때 False 이다.

 

 - 튜플(tuple), 집합(set), 리스트(list), 딕셔너리(dictinary)

  : 항목이 있으면 True, 없으면 False 이다.

  : 항목의 갯수를 확인할 수 있는 len() 의 결과가 0 일 때 False 라고 생각해도 동일하다.

 

1) 집합(Set)

set1 = {1,}
print(len(set1)) # 결과 값 1
print(bool(set1)) # 결과 값 True
set2 = set()
print(len(set2)) # 결과 값 0
print(bool(set2)) # 결과 값 False

2) 튜플(tuple)

tuple1 = (0,1,2)
print(len(tuple1)) # 결과 값 3
print(bool(tuple1)) # 결과 값 True
tuple2 = ()
print(len(tuple2)) # 결과 값 0
print(bool(tuple2)) # 결과 값 False

 

3) List(list)

list1 = [1,2,3]
print(len(list1)) # 결과 값 3
print(bool(list1)) # 결과 값 True
list2 = []
print(len(list2)) # 결과 값 0
print(bool(list2)) # 결과 값 False

 4) dictinary(dict)

dict1 = {'a':'1','b':'2'}
print(len(dict1)) # 결과 값 2
print(bool(dict1)) # 결과 값 True
dict2 = {}
print(len(dict2)) # 결과 값 0
print(bool(dict2)) # 결과 값 False

 

- 추가 None

 : 예약어 중 None 이라는 예약어가 있다. 기초 단계에서는 간단히 값이 없음을 나타내는 예약어라고 생각해도 된다.

   값이 없기 때문에 boolen 에서는 False로 처리한다.

print(None)
print(type(None))
print(bool(None))

 

3. 조건 또는 연산에서의 Boolean

  - boolen을 가장 많이 사용하는 형태로 변수의 값을 비교하거나, 연산 조건의 결과를 Boolean 으로 확인할 수 있다.

  - 뒤에 배우게 될 조건문(if)와 반복문(while) 등에서 동작하기 위한 조건으로 사용한다.
   * 자세한 내용은 조건문과 반복문에서 다루겠다.

  - 조건문(if)을 통해 아래처럼 사용할 수도 있으나, 실제 조건문에는 boolean이 아닌 특정 조건을 입력하게되고,

a =[]
if a: # if len(a) >0
    print(1)
else:
    print(2)

b = [1]
if b: # if len(b) > 0 :
    print(1)
else:
    print(2)

 - 반복문(while)의 경우 해당 값이 있는지 또는 지속적으로 반복해야 할 경우 사용하게 된다.

 

 

반응형

'Python' 카테고리의 다른 글

10. 파이썬 집합(set) 특징  (0) 2023.06.27
09. 파이썬 리스트(list) 특징  (0) 2023.06.26
08. 파이썬 튜플(tuple) 특징  (0) 2023.06.25
venv 가상환경 구성하기 02(모듈 복사)  (0) 2023.06.03
venv 가상환경 구성하기 01  (0) 2023.05.30