Booleans are one of the most important building blocks in Python programming. They help make decisions, control program flow, and evaluate conditions.
In this article, you'll learn:
-
What Boolean values are
-
How to use them in conditions
-
Boolean operators
-
Truthy and falsy values
-
Tips and common mistakes
What Are Booleans?
A Boolean represents one of two values:
-
True
-
False
They are part of Python’s built-in data types.
is_sunny = True
is_raining = False
Note: Boolean values are capitalized (True
, not true
).
Type and Identity
x = True
print(type(x)) # <class 'bool'>
Behind the scenes:
True == 1 # True
False == 0 # True
So you can use them in mathematical operations:
print(True + True) # 2
print(False * 10) # 0
Booleans in Conditionals
Booleans are mostly used in if
statements and loops:
is_logged_in = True
if is_logged_in:
print("Welcome!")
else:
print("Please log in.")
Comparison Operators
These operators return a Boolean result:
Operator | Meaning | Example | Result |
---|---|---|---|
== |
Equal to | 5 == 5 |
True |
!= |
Not equal to | 5 != 3 |
True |
> |
Greater than | 5 > 3 |
True |
< |
Less than | 3 < 5 |
True |
>= |
Greater or equal | 5 >= 5 |
True |
<= |
Less or equal | 3 <= 4 |
True |
⚙️ Logical Operators
Used to combine multiple conditions:
Operator | Description | Example |
---|---|---|
and |
True if both are True | True and False → False |
or |
True if at least one is True | True or False → True |
not |
Inverts the result | not True → False |
age = 25
has_ticket = True
if age >= 18 and has_ticket:
print("You can enter.")
Truthy and Falsy Values
In conditions, not only True
and False
matter. Other values are treated as Boolean based on their truthiness.
✅ These are considered False
:
-
None
-
False
-
0
,0.0
-
""
(empty string) -
[]
,{}
,()
(empty containers)
Everything else is True
.
if []:
print("This won't run.")
else:
print("Empty list is falsy.") # This will print
Boolean in Loops
Booleans control loops like while
:
is_running = True
while is_running:
user_input = input("Type 'exit' to stop: ")
if user_input == "exit":
is_running = False
Boolean Conversion with bool()
Use bool()
to test any value’s truthiness:
print(bool(0)) # False
print(bool("Hello")) # True
print(bool([])) # False
Example: Login Validator
username = input("Enter username: ")
password = input("Enter password: ")
if username == "admin" and password == "123":
print("Login successful!")
else:
print("Access denied.")
Tips for Working with Booleans
-
Use
is
for comparing toTrue
/False
only if you're checking identity (rare). -
Avoid
== True
or== False
. Use the value directly:if is_ready: # ✔️ Better than if is_ready == True
-
Remember: short-circuiting applies with
and
andor
.
⚠️ Common Pitfalls
Mistake | Problem | Correct Way |
---|---|---|
if x == True: |
Redundant | if x: |
is True instead of == |
Identity check, not value | Use == or direct test |
Misunderstanding 0 , '' , [] |
They evaluate to False |
Use bool() to check |
Chaining logic incorrectly | if a and b or c may confuse |
Use parentheses: if a and (b or c) |
Summary
Concept | Example |
---|---|
Boolean values | True , False |
Logic operators | and , or , not |
Falsy values | 0 , None , "" , [] , {} |
Use in if |
if condition: |
bool() function |
bool("abc") → True |
What’s Next?
After mastering Booleans, you'll be ready to dive deeper into:
-
Control structures (
if
,elif
,else
) -
Loops (
while
,for
) -
Boolean expressions in functions and validations