1 왜 Boolean과 조건 연산을 배워야 할까?
→ 프로그램은 계산만 하는 것이 아니라 상황을 판단하고, 그 결과에 따라 행동을 선택해야 함
→ 이 판단 결과는 항상 True(참) / False(거짓)
→ 비교 연산자가 조건을 만들고, 논리 연산자가 조건을 조합해 실제 로직을 완성함
2 Boolean(불리언 기초)
→ 파이썬 Boolean 값은 True와 False뿐임
→ true, false는 오류이므로, 반드시 대문자로 시작해야 함
→ 'True'는 문자열이고, True는 Boolean으로 완전히 다름
3 비교 연산자 - 두 값을 비교해 True/False 반환
| 연산자 | 의미 |
| == | 같다 |
| != | 다르다 |
| > | 크다 |
| < | 작다 |
| >= | 크거나 같다 |
| <= | 작거나 같다 |
1-1 코드
print(10 > 5)
1-1 결과

1-2 코드 : 체인 비교
age = 15
print(0 < age < 18)
1-2 결과

4 논리 연산자 - 여러 조건을 묶어 판단
| 연산자 | 의미 | True가 되는 조건 |
| and | 그리고 | 모든 조건이 True |
| or | 또는 | 하나라도 True |
| not | 아니다 | 원래 조건 결과가 False |
2-1 코드
score = 95
grade = 'A'
print((score > 90) or (grade == 'A'))
2-1 결과

5 Truthy & Falsy - Boolean이 아니어도 참/거짓으로 평가
→ 조건문에는 True/False만 들어가는 게 아님
→ 파이썬은 값을 Boolean으로 평가해서 실행 여부를 결정함
→ Truthy는 'a', '0', [1], (1,), {a:1}, 1 같이 값이 비어 있지 않은 경우
→ Falsy는 '', [], {}, (), 0, None, False 같이 값이 없거나 비어 있는 경우
6 포함 여부 검사 - in / not in
→ 값이 자료 안에 포함되어 있는지 확인함
3-1 코드
print('a' in 'apple') # True
3-1 결과

→ 딕셔너리는 키를 기준으로 확인하므로, 값 확인은 .values()를 사용함
3-2 코드
user = {
'name':'Tom'
}
print('Tom' in user.values())
3-2 결과

7 == vs is
→ ==은 값이 같은지 비교함
→ is는 같은 객체인지(같은 메모리인지) 비교함
→ None 비교만 예외적으로 is를 사용함
8 단축 평가 (Short-circuit)
→ 논리 연산에서 결고가가 이미 확정되면 뒤의 코드를 실행하지 않음
→ 반환 값은 Boolean이 아니라 마지막으로 평가된 값
4-1 코드
user = '' or 'Guest'
print(user)
4-1 결과

9 실전에서 가장 자주 쓰는 조건 패턴
5-1 코드 : 범위 조건
age = 20
print(20 <= age < 30)
5-1 결과

5-2 코드 : 빈 값 여부
items = []
if not items:
print('값이 없음')
else:
print('값이 있음')
5-2 결과

5-3 코드 : 조건에 따라 값 선택 (삼항 패턴)
score = 60
status = 'PASS' if score >= 60 else 'FAIL'
print(status)
5-3 결과

5-4 코드 : 여러 조건 조합
class User:
def __init__(self, is_active, is_banned):
self.is_active = is_active
self.is_banned = is_banned
user = User(is_active=True, is_banned=False)
if user and user.is_active and not user.is_banned:
print('로그인 완료')
else:
print('로그인 실패')
5-4 결과

5-5 코드 : 기본값 제공
input_name = ''
username = input_name or 'Guest'
print(username)
5-5 결과

10 실수 없이 쓰는 올바른 습관
→ if x == True: 대신에 if x:를 사용하기
→ if x == False: 대신에 if not x:를 사용하기
→ if value == None:이 아니라 if value is None:이 맞음
→ if len(items) > 0: 대신에 if items:를 사용하기
Python Boolean과 비교,논리 연산에 대해 더 상세한 설명을 원하는 분들은 아래 사이트에 접속하기
Python Boolean과 비교,논리 연산뿐만 아니라 다른 프로그래밍 언어에 대해 알고 싶은 분들은 아래 사이트에 접속하여 원하는 링크에 접속하기
'파이썬 > 변수와 데이터 타입' 카테고리의 다른 글
| 파이썬 동적 타이핑 완벽 정리 : 변수, 객체, 타입 흐름, 실수 사례, 해결법까지 한번에 이해하기 (0) | 2025.12.08 |
|---|---|
| 파이썬 None 완벽 정리 - None vs 빈 값 차이, is 비교, 함수 반환까지 한 번에 끝내기 (0) | 2025.12.04 |
| 파이썬 문자열 완전정복 : split, join, replace, 정규표현식, 한글 깨짐, 디버깅까지 이것만 보면 끝! (0) | 2025.11.27 |
| 파이썬 형변환 완벽 가이드 : 타입 확인, 숫자 변환, 예외 처리, 자주 하는 실수까지 한 번에 정리 (0) | 2025.11.19 |
| 처음 배우는 파이썬 데이터 타입 완전 정복 - 7종 기본 타입부터 가변 vs 불변, 형 변환, 비교/연산 주의사항까지 (0) | 2025.11.04 |