Python에서 불리언 연산 이해하기
불리언(Boolean)은 프로그래밍에서 **True(참)**와 **False(거짓)**를 나타내는 데이터 타입입니다. Python은 불리언 값을 처리하기 위한 다양한 논리 연산자를 제공합니다. 이번 포스팅에서는 불리언 연산을 이해하고 이를 활용하여 효과적인 조건문을 작성하는 방법을 배웁니다.
1. 불리언 기본 개념
불리언 값은 `True`와 `False` 두 가지 상태만 가지며, Python에서는 첫 글자를 반드시 대문자로 작성해야 합니다.
is_active = True
is_admin = False
print(is_active) # 출력: True
print(is_admin) # 출력: False
2. 불리언 논리 연산자
Python은 불리언 값을 조합하거나 반전시키기 위해 다음과 같은 논리 연산자를 제공합니다.
2.1. AND 연산자
`and` 연산자는 양쪽 조건이 모두 참일 때만 참을 반환합니다.
a = True
b = False
print(a and b) # 출력: False
print(a and True) # 출력: True
2.2. OR 연산자
`or` 연산자는 하나라도 참인 조건이 있으면 참을 반환합니다.
a = True
b = False
print(a or b) # 출력: True
print(b or False) # 출력: False
2.3. NOT 연산자
`not` 연산자는 조건을 반전시킵니다. 참은 거짓으로, 거짓은 참으로 변경합니다.
a = True
b = False
print(not a) # 출력: False
print(not b) # 출력: True
3. 불리언 연산자의 우선순위
Python에서는 불리언 연산자의 우선순위를 따릅니다:
not
(가장 높은 우선순위)and
or
(가장 낮은 우선순위)
a = True
b = False
c = True
# 우선순위를 고려한 연산
print(a or b and c) # 출력: True (b and c가 먼저 계산)
print((a or b) and c) # 출력: True (괄호를 사용해 우선순위 변경)
4. 불리언 연산의 활용
4.1. 조건문에서 사용
조건문에서 불리언 연산자를 사용하여 복잡한 조건을 처리할 수 있습니다.
age = 25
has_permission = True
if age > 18 and has_permission:
print("접근이 허용되었습니다.")
else:
print("접근이 거부되었습니다.")
4.2. 값의 존재 확인
Python의 다양한 값은 암묵적으로 불리언으로 평가됩니다. `None`, `0`, 빈 문자열, 빈 리스트 등은 모두 `False`로 평가됩니다.
name = ""
items = []
print(bool(name)) # 출력: False (빈 문자열)
print(bool(items)) # 출력: False (빈 리스트)
print(bool(42)) # 출력: True (0이 아닌 정수)
4.3. 값 단축 평가 (Short-Circuiting)
Python의 `and`와 `or`는 필요에 따라 연산을 조기 종료합니다. 이를 단축 평가라고 합니다.
a = True
b = False
print(a or b) # 출력: True (a가 참이므로 b를 평가하지 않음)
print(b and a) # 출력: False (b가 거짓이므로 a를 평가하지 않음)
5. 예제: 로그인 검증
아래는 불리언 연산자를 활용한 간단한 로그인 검증 예제입니다.
username = "admin"
password = "1234"
input_user = "admin"
input_pass = "1234"
if input_user == username and input_pass == password:
print("로그인 성공!")
else:
print("로그인 실패!")
6. 주의사항
- 부정확한 조건 작성: 복잡한 논리식에서는 괄호를 적절히 사용하여 연산 우선순위를 명확히 해야 합니다.
- 암묵적 변환 주의: 불리언으로 평가되는 값을 사용할 때는 예상치 못한 결과를 방지하기 위해
bool()
함수를 사용하여 명시적으로 변환하세요.
7. 마무리
불리언 연산자는 Python에서 논리적 흐름을 제어하는 핵심 도구입니다. `and`, `or`, `not` 연산자의 특성과 우선순위를 이해하면 복잡한 조건도 명확하게 표현할 수 있습니다. 다양한 조건문과 논리식을 작성하며 연습해 보세요!
'플그래밍 > 파이써언' 카테고리의 다른 글
Python: 무한대와 NaN 표현하기 (1) | 2024.12.01 |
---|---|
Python: 부동소수점(float) 타입 사용하는 법 (1) | 2024.12.01 |
Python: 여러 변수 간 비교 연산하기 (1) | 2024.12.01 |
Python: 비교 연산자 활용하기 (2) | 2024.12.01 |
Python: 불리언(Boolean) 타입 사용하는 방법 (1) | 2024.12.01 |