십대를 위한 코딩/십대를 위한 파이썬

파이썬 불리언 자료형, 숫자처럼 연산된다?

forSilver 2025. 4. 19. 07:26
반응형

파이썬 불리언 자료형, 숫자처럼 연산된다?

파이썬을 처음 접한 분들께 가장 흥미롭게 다가오는 자료형 중 하나는 bool, 즉 불리언(Boolean) 자료형입니다. True와 False라는 단순한 두 값으로 구성되지만, 이 자료형은 단순한 참/거짓 판단을 넘어 파이썬 내부에서 수처럼 동작하는 독특한 특징을 갖고 있습니다. 이번 글에서는 파이썬 불리언 자료형의 특성과 활용법을 간단한 예제와 함께 살펴보겠습니다.


1. 비교 연산의 결과는 불리언 값

파이썬에서는 크기 비교 연산(<, >, == 등)의 결과가 항상 True 또는 False로 반환됩니다.

a = 1
print(a < 0)   # False
print(a > 0)   # True

이처럼 a의 값이 1일 때, a < 0은 거짓이므로 False, a > 0은 참이므로 True가 출력됩니다.


2. 불리언 값도 숫자처럼 연산된다

흥미로운 점은 파이썬에서 True와 False는 실제로 각각 숫자 1과 0으로 간주된다는 것입니다. 그래서 아래와 같은 연산이 가능합니다.

print(True + True)     # 2
print(True * False)    # 0

True + True는 1 + 1이므로 2, True * False는 1 * 0이므로 0이 출력됩니다.

이러한 성질 덕분에 조건문 외에도 불리언 값을 수치 연산이나 리스트 인덱스 등 다양한 곳에 응용할 수 있습니다.


3. bool() 함수로 참/거짓 판단

파이썬에서는 다양한 값을 불리언으로 변환하여 참인지 거짓인지 판단할 수 있도록 bool() 함수를 제공합니다.

print(bool(3))     # True (0이 아닌 수)
print(bool([]))    # False (빈 리스트)
  • 숫자 0, 빈 컨테이너([], {}, set(), '') 등은 False로 간주됩니다.
  • 그 외 대부분의 값은 True로 간주됩니다.

4. 불리언으로 간주되는 "거짓" 값들

다음 값들은 파이썬에서 bool()로 변환했을 때 False로 평가됩니다.

bool(0)         # 정수 0
bool(0.0)       # 실수 0
bool('')        # 빈 문자열
bool([])        # 빈 리스트
bool({})        # 빈 딕셔너리
bool(set())     # 빈 집합
bool(None)      # None 객체

이러한 특성을 활용하면 다음과 같이 간단한 조건문도 만들 수 있습니다.

if not []:
    print("빈 리스트는 False로 간주됩니다.")

5. 왜 이런 구조일까?

불리언이 숫자처럼 동작하는 구조는 파이썬이 간결하고 읽기 쉬운 코드를 지향하기 때문입니다. 예를 들어 다음과 같은 코드를 생각해 보세요.

flags = [True, False, True, True]
print(sum(flags))    # 3

True를 1로, False를 0으로 간주하므로 sum() 함수로 쉽게 True 값의 개수를 셀 수 있습니다.


마무리하며

불리언은 단순히 조건문에서만 쓰는 값이 아닙니다. 내부적으로 숫자처럼 동작하기 때문에, 리스트 계산, 조건 필터링, 통계 처리 등 다양한 곳에서 유용하게 활용할 수 있습니다.

 

처음엔 생소하게 느껴질 수 있지만, 불리언의 이러한 특성을 익혀두면 파이썬 코딩이 더욱 유연하고 재미있어질 것입니다