Python Booleans πΒΆ
Prerequisites: Python Variables
Mentor's Note: Programming is mostly about making decisions. Booleans are the "Yes" and "No" of the computer world! π‘
π The Scenario: The Gatekeeper β©οΈΒΆ
Imagine you are at a theme park.
- The Logic: The gatekeeper checks your height. If you are taller than 4 feet, the answer is Yes (True). If you are shorter, the answer is No (False). π¦
- The Result: You either enter the ride or stay out. Every logic gate in code is just a Booleans test! β
π Concept ExplanationΒΆ
1. Boolean ValuesΒΆ
In Python, there are only two values: True and False. (Note the capital letters!).
2. Truthy vs. Falsy πΒΆ
Almost every value in Python has an inherent "truth" value.
| Type | Falsy (False) | Truthy (True) |
|---|---|---|
| Numbers | 0, 0.0 |
Any non-zero number (1, -5) |
| Strings | "" (Empty) |
Any non-empty string (" " or "Hi") |
| Collections | [], (), {} (Empty) |
Any list with items |
| Special | None |
- |
π¨ Visual Logic: The bool() Mirror πͺΒΆ
graph TD
A[Data Value] --> B{bool() function}
B -- "0, '', [], None" --> C[False β]
B -- "Everything else" --> D[True β
]
π» Implementation: Logic LabΒΆ
# π Scenario: Checking Account Access
# π Action: Evaluating expressions
age = 25
has_ticket = True
# Simple check
print(age > 18) # True β
# Truthy check
name = "Vishnu"
if name:
print(f"Hello {name}!") # Runs because name is not empty!
# Falsy check
errors = 0
if not errors:
print("System Healthy!") # Runs because 0 is False.
π Sample Dry Run (Check)ΒΆ
| Value | Evaluation | Reason |
|---|---|---|
bool("0") |
True β
|
It's a non-empty string. |
bool(0) |
False β |
Zero is always false. |
bool([False]) |
True β
|
The list is NOT empty (it contains an item). |
π Technical AnalysisΒΆ
- Math: In Python,
True == 1andFalse == 0. You can actually use them in arithmetic (e.g.,True + True = 2), though this is not recommended for clean code!
π― Practice Lab π§ͺΒΆ
Task: The Empty Checker
Task: Ask for user input and print "Warning: Empty name" if the user just presses Enter without typing anything.
Hint: Use if not user_input:! π‘
π‘ Pro Tip: "Logic will get you from A to B. Imagination will take you everywhere." - Albert Einstein