[Python TIL] Python에서 False와 True로 평가되는 값들
파이썬에서는 if 조건문이나 while 같은 컨트롤 흐름에서 자동으로 False로 간주되는 값들이 있다. 이걸 "Falsy 값" 또는 "Falsy Object" 라고 부른다.
이걸 알아두면 코드를 훨씬 깔끔하게 쓸 수 있다. 예를 들어, if not my_list: 같은 표현이 빈 리스트를 체크하는 데 쓰이기도 하기 때문이다.
⚠️ 파이썬에서 False로 평가되는 값들 (Falsy 값)
| 유형 | 예시 | 설명 |
| 숫자형 | 0, 0.0, 0j | 정수, 실수, 복소수 모두 포함됨 |
| 빈 시퀀스 | '', [], () | 빈 문자열, 빈 리스트, 빈 튜플 |
| 빈 매핑 | {}, set(), dict() | 빈 딕셔너리, 빈 집합 |
None | None | 값이 없음을 나타냄 |
False | False | 불리언 값 False |
✅ 예시로 직접 확인해보자
test_values = [0, 0.0, '', [], {}, set(), None, False]
for value in test_values:
if not value:
print(f"{repr(value)} is considered False")
🖨 출력 결과:
0 is considered False
0.0 is considered False
'' is considered False
[] is considered False
{} is considered False
set() is considered False
None is considered False
False is considered False
✅ 조건문에 유용한 활용 예
리스트가 비었는지 체크
my_list = []
if not my_list:
print("리스트가 비어 있습니다.")
문자열이 비었는지 체크
name = ""
if not name:
print("이름이 입력되지 않았습니다.")
딕셔너리가 비었는지 체크
user_data = {}
if not user_data:
print("데이터가 없습니다.")
⚠️ 참고: True로 평가되는 것들 (Truthy)
0이 아닌 숫자 (
1,-1,3.14)값이 있는 문자열 (
'hello')비어 있지 않은 리스트/딕셔너리 등
📌 정리
| 평가 | 예시 |
False로 간주 | 0, 0.0, '', [], {}, set(), None, False |
True로 간주 | 그 외 모든 값들 |