파이썬 불리언 자료형, 숫자처럼 연산된다?
파이썬을 처음 접한 분들께 가장 흥미롭게 다가오는 자료형 중 하나는 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 값의 개수를 셀 수 있습니다.
마무리하며
불리언은 단순히 조건문에서만 쓰는 값이 아닙니다. 내부적으로 숫자처럼 동작하기 때문에, 리스트 계산, 조건 필터링, 통계 처리 등 다양한 곳에서 유용하게 활용할 수 있습니다.
처음엔 생소하게 느껴질 수 있지만, 불리언의 이러한 특성을 익혀두면 파이썬 코딩이 더욱 유연하고 재미있어질 것입니다
'십대를 위한 코딩 > 십대를 위한 파이썬' 카테고리의 다른 글
str.format() 방식과 f-string 방식의 비교 설명 (0) | 2025.05.02 |
---|---|
Python str.format() 완전 분석 (1) | 2025.05.01 |
16. 함수 고급 활용과 모듈의 기초 (1) | 2025.04.06 |
15. 함수 인자 활용과 모듈 개념 이해 (0) | 2025.04.05 |
14. 함수(Function)의 정의, 구조, 그리고 호출 방식 (1) | 2025.04.04 |