---
id: python-booleans
title: "Python Booleans"
category: "Programming_Language"
status: "draft"
verification_status: "conceptual"
canonical_id: ""
aliases: ["bool()", "truthiness", "파이썬 불리언"]
duplicate_of: ""
source_trust_level: "B"
confidence_score: 0.9
created_at: 2026-07-04
updated_at: 2026-07-04
review_reason: ""
merge_history: []
tags: ["python", "programming", "w3schools", "boolean", "truthiness"]
raw_sources: ["https://www.w3schools.com/python/python_booleans.asp"]
applied_in: []
github_commit: ""
---

# [[Python Booleans]]

## 🎯 한 줄 통찰 (One-line insight)
Almost every Python value is truthy by default — only a small, fixed set (empty collections, 0, "", None, False, and objects whose `__len__` returns 0) evaluates to False. [S1]

## 🧠 핵심 개념 (Core concepts)
- **Boolean** — represents one of two values: True or False. [S1]
- **`bool()` function** — evaluates any value/variable and returns True or False. [S1]
- **Most values are True** — any non-empty string, any non-zero number, any non-empty list/tuple/set/dict. [S1]
- **Falsy exceptions** — `()`, `[]`, `{}`, `""`, `0`, `None`, `False`. [S1]
- **Custom falsy objects** — an object from a class whose `__len__` returns 0 (or False) also evaluates to False. [S1]
- **Functions can return booleans** — including built-ins like `isinstance()`. [S1]

## 🧩 추출된 패턴 (Extracted patterns)
- **`__len__`-based falsiness** — Python's truthiness protocol extends to custom classes via `__len__`, meaning "empty-like" custom objects behave like empty built-in collections. [S1]

## 📖 세부 내용 (Details)
- Comparison expressions return booleans: `print(10 > 9); print(10 == 9); print(10 < 9)`. [S1]
- Truthy check: `bool("Hello")  # True`, `bool(15)  # True`. [S1]
- Falsy check: `bool(False); bool(None); bool(0); bool(""); bool(()); bool([]); bool({})`. [S1]
- Custom falsy via `__len__`: [S1]
```python
class myclass():
    def __len__(self):
        return 0
myobj = myclass()
print(bool(myobj))  # False
```
- `isinstance()` returns a boolean: `print(isinstance(x, int))`. [S1]

## ⚖️ 모순 및 업데이트 (Contradictions & updates)
소스에서 모순되는 정보는 발견되지 않음.

## 🛠️ 적용 사례 (Applied in summary)
현재 발견된 실제 적용 사례가 없습니다 — if 조건문/논리 연산자 챕터 전체가 이 불리언 평가 규칙을 전제로 한다. [S1]

## 💻 코드 패턴 (Code patterns)
Custom class controlling its own truthiness (Python):
```python
class myclass():
    def __len__(self):
        return 0

myobj = myclass()
print(bool(myobj))  # False
```

## ✅ 검증 상태 및 신뢰도
- **상태:** draft
- **검증 단계:** conceptual
- **출처 신뢰도:** B (W3Schools — widely used educational reference, not a primary standards body)
- **신뢰 점수:** 0.90
- **중복 검사 결과:** 신규 생성 (New discovery)

## 🔗 지식 그래프 (Knowledge Graph)
- **상위/루트:** [[Python Tutorial]]
- **관련 개념:** [[Python If Else]], [[Python Operators Logical]], [[Python Operators Comparison]]
- **참조 맥락:** 조건문/논리 연산의 기초 — if 문/while 루프의 조건 평가 방식을 정의.

## 📚 출처 (Sources)
- [S1] W3Schools — Python Booleans — https://www.w3schools.com/python/python_booleans.asp

## 📝 변경 이력 (Change history)
- 2026-07-04: Initial draft synthesized from the W3Schools "Python Booleans" page (Astra wiki-curation, P-Reinforce v3.1 format).
