반응형
목차
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]
코드 분석
- 리스트 컴프리헨션 구조:
[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
을 리스트에 추가합니다.
- 리스트
numbers
의 요소:numbers = [1, 2, 3, 4, 5]
에는 숫자 1부터 5까지 포함되어 있습니다. - 짝수 조건:
n % 2 == 0
은n
을 2로 나누었을 때 나머지가 0인 경우, 즉n
이 짝수인 경우를 의미합니다. - 짝수 필터링 과정:리스트를 순회하며 조건을 평가합니다:
1 % 2 == 0
: 거짓 (1은 홀수)2 % 2 == 0
: 참 (2는 짝수)3 % 2 == 0
: 거짓 (3은 홀수)4 % 2 == 0
: 참 (4는 짝수)5 % 2 == 0
: 거짓 (5는 홀수)
- 결과:조건을 만족하는 값은
2
와4
이므로, 최종 결과는[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 반환
코드 구조
input()
함수:사용자로부터 입력을 받고, 문자열로 반환합니다.isdigit()
메서드:문자열이 숫자로만 이루어져 있는지 확인합니다:- 숫자로만 이루어진 경우:
True
- 그 외의 경우 (공백, 소수점, 문자 등 포함):
False
- 숫자로만 이루어진 경우:
- 조건문:
if user_input.isdigit()
결과에 따라 출력 메시지가 다릅니다.True
: "입력이 숫자입니다." 출력False
: "입력이 숫자가 아닙니다." 출력
실행 예시
- 입력:
123
→ 출력: "입력이 숫자입니다." - 입력:
abc
→ 출력: "입력이 숫자가 아닙니다." - 입력:
12.34
→ 출력: "입력이 숫자가 아닙니다." - 입력:
123abc
→ 출력: "입력이 숫자가 아닙니다."
결론
Boolean 자료형은 조건문, 논리 연산, 데이터 검증 등 파이썬의 다양한 기능에서 핵심적인 역할을 합니다.
Boolean 자료형을 깊이 이해하면 더 효율적이고 논리적인 프로그램을 작성할 수 있습니다.
728x90
반응형
댓글