본문 바로가기
Python

파이썬(Python) Boolean 자료형: 완벽 가이드

by 글쓰니˚ 2025. 1. 20.
반응형

 

Boolean 자료형

 

목차

 

Boolean 자료형이란?

Boolean 자료형은 참(True)과 거짓(False)의 두 가지 값만 가질 수 있는 파이썬의 기본 데이터 타입입니다. 논리 연산 및 조건문에서 핵심 역할을 하며, 데이터와 논리적 판단을 연결하는 기본 요소로 사용됩니다.

# Boolean 변수 선언

is_active = True
is_logged_in = False
print(is_active)  # 출력: True
print(type(is_logged_in))  # 출력: <class 'bool'>

 

 

Boolean 값의 종류

1. 참(True)

조건이 성립하면 반환되는 값입니다.

2. 거짓(False)

조건이 성립하지 않으면 반환되는 값입니다. 주의: Boolean 값은 반드시 대문자로 시작해야 합니다.

print(True)  # 출력: True
print(false)  # 오류: NameError: name 'false' is not defined

 

Boolean 자료형의 주요 용도

1. 조건문

temperature = 30
if temperature > 25:
    print("날씨가 덥습니다.")  # 출력: 날씨가 덥습니다.
else:
    print("날씨가 적당합니다.")

2. 반복문 제어

is_running = True
while is_running:
    print("실행 중...")
    is_running = False

3. 논리 연산

a, b = True, False
print(a and b)  # 출력: False
print(a or b)   # 출력: True
print(not a)    # 출력: False

 

Boolean 값 평가 규칙

False로 평가되는 값

  • None
  • 숫자 0 (정수형, 실수형 등)
  • 빈 컬렉션 ([], {}, (), set(), "")
  • False
print(bool(0))  # 출력: False
print(bool(""))  # 출력: False
print(bool([]))  # 출력: False

True로 평가되는 값

위 조건을 제외한 모든 값은 True로 평가됩니다.

사용자 정의 객체의 평가

class MyClass:
    def __bool__(self):
        return False

obj = MyClass()
print(bool(obj))  # 출력: False

 

 

 

Boolean 연산자

1. and

print(True and False)  # 출력: False

2. or

print(True or False)  # 출력: True

3. not

print(not True)  # 출력: False

연산자 우선순위

print(True or False and False)  # 출력: True
print(not True or False)       # 출력: False

 

Boolean과 관련된 내장 함수

1. any()

numbers = [0, 1, 2, 3]
print(any(numbers))  # 출력: True

2. all()

numbers = [1, 2, 3]
print(all(numbers))  # 출력: True

 

실제 사용 사례

1. 리스트 필터링

numbers = [1, 2, 3, 4, 5]
even_numbers = [n for n in numbers if n % 2 == 0]
print(even_numbers)  # 출력: [2, 4]

 

코드 분석

  1. 리스트 컴프리헨션 구조:[n for n in numbers if n % 2 == 0]은 다음과 같은 의미를 가집니다:
    • n for n in numbers: numbers 리스트의 각 요소 n을 순차적으로 가져옵니다.
    • if n % 2 == 0: n이 짝수(n % 2 == 0)인 경우에만 n을 리스트에 추가합니다.
  2. 리스트 numbers의 요소:numbers = [1, 2, 3, 4, 5]에는 숫자 1부터 5까지 포함되어 있습니다.
  3. 짝수 조건:n % 2 == 0n을 2로 나누었을 때 나머지가 0인 경우, 즉 n이 짝수인 경우를 의미합니다.
  4. 짝수 필터링 과정:리스트를 순회하며 조건을 평가합니다:
    • 1 % 2 == 0: 거짓 (1은 홀수)
    • 2 % 2 == 0: 참 (2는 짝수)
    • 3 % 2 == 0: 거짓 (3은 홀수)
    • 4 % 2 == 0: 참 (4는 짝수)
    • 5 % 2 == 0: 거짓 (5는 홀수)
  5. 결과:조건을 만족하는 값은 24이므로, 최종 결과는 [2, 4]입니다.

 

2. 사용자 입력 검증

user_input = input("숫자를 입력하세요: ")
if user_input.isdigit():
    print("입력이 숫자입니다.")  # 숫자라면 True 반환
else:
    print("입력이 숫자가 아닙니다.") #숫자가 아니려 False 반환

 

숫자 입력 확인 코드 설명

아래 코드는 사용자가 입력한 값이 숫자인지 확인하는 Python 코드입니다:


user_input = input("숫자를 입력하세요: ")
if user_input.isdigit():
    print("입력이 숫자입니다.")  # 숫자라면 True 반환
else:
    print("입력이 숫자가 아닙니다.")  # 숫자가 아니면 False 반환
    

코드 구조

  1. input() 함수:사용자로부터 입력을 받고, 문자열로 반환합니다.
  2. isdigit() 메서드:문자열이 숫자로만 이루어져 있는지 확인합니다:
    • 숫자로만 이루어진 경우: True
    • 그 외의 경우 (공백, 소수점, 문자 등 포함): False
  3. 조건문:if user_input.isdigit() 결과에 따라 출력 메시지가 다릅니다.
    • True: "입력이 숫자입니다." 출력
    • False: "입력이 숫자가 아닙니다." 출력

실행 예시

  • 입력: 123 → 출력: "입력이 숫자입니다."
  • 입력: abc → 출력: "입력이 숫자가 아닙니다."
  • 입력: 12.34 → 출력: "입력이 숫자가 아닙니다."
  • 입력: 123abc → 출력: "입력이 숫자가 아닙니다."

 

결론

Boolean 자료형은 조건문, 논리 연산, 데이터 검증 등 파이썬의 다양한 기능에서 핵심적인 역할을 합니다.

Boolean 자료형을 깊이 이해하면 더 효율적이고 논리적인 프로그램을 작성할 수 있습니다.

 

 

 

 

728x90
반응형

댓글