Of course! Let's break down True and False in Python, which are the fundamental values of a data type called Boolean.
The Basics: True and False
In Python, True and False are the only two instances of the bool data type. They represent the two possible states of a logical expression.
True: Represents "truth," "yes," or "on."False: Represents "falsity," "no," or "off."
# Check the type of True and False print(type(True)) # Output: <class 'bool'> print(type(False)) # Output: <class 'bool'> # Assign boolean values to variables is_active = True is_completed = False print(is_active) # Output: True print(is_completed) # Output: False
How are True and False Created?
You almost never type True or False directly unless you are explicitly setting a variable. Most of the time, they are the result of comparison operators or logical operators.
Comparison Operators
These operators compare two values and return either True or False.
| Operator | Meaning | Example | Result |
|---|---|---|---|
| Equal to | 5 == 5 |
True |
|
| Not equal to | 5 != 5 |
False |
|
> |
Greater than | 10 > 2 |
True |
< |
Less than | 10 < 2 |
False |
>= |
Greater than or equal to | 10 >= 10 |
True |
<= |
Less than or equal to | 10 <= 2 |
False |
print(10 > 5) # Output: True
print("apple" == "banana") # Output: False
print(3.14 != 3.14) # Output: False
Logical Operators
These operators combine or modify boolean expressions.
| Operator | Meaning | Example | Result |
|---|---|---|---|
and |
AND (both must be True) | True and False |
False |
or |
OR (at least one must be True) | True or False |
True |
not |
NOT (inverts the value) | not True |
False |
# AND example: You need both a ticket AND be over 18. has_ticket = True is_over_18 = False can_enter = has_ticket and is_over_18 print(can_enter) # Output: False # OR example: You can pay with a credit card OR a debit card. has_credit_card = False has_debit_card = True can_pay = has_credit_card or has_debit_card print(can_pay) # Output: True # NOT example: The door is NOT closed. is_door_closed = True is_door_open = not is_door_closed print(is_door_open) # Output: False
Truthiness and Falsiness (A Crucial Concept in Python)
This is one of the most powerful features of Python. Many data types and values can be evaluated as True or False in a boolean context (like an if statement), even if they aren't the literal True or False.
Falsy Values (evaluate to False)
The following values are considered "falsy":
False(of course)None- Any zero:
0,0,0j - Empty sequences/collections:
- (empty string)
[](empty list)- (empty tuple)
- (empty dictionary)
set()(empty set)
if 0:
print("This will not print") # 0 is falsy
if '':
print("This will not print") # Empty string is falsy
if []:
print("This will not print") # Empty list is falsy
if None:
print("This will not print") # None is falsy
Truthy Values (evaluate to True)
Almost everything else is considered "truthy". This includes:
True(of course)- Non-zero numbers:
1,-5,14 - Non-empty sequences/collections:
'hello'(non-empty string)[1, 2, 3](non-empty list){'key': 'value'}(non-empty dictionary)- Objects that you create yourself (unless you define a special method to make them falsy).
if 1:
print("This will print") # 1 is truthy
if 'hello':
print("This will print") # Non-empty string is truthy
if [1, 2, 3]:
print("This will print") # Non-empty list is truthy
Practical Example: Using True/False in if statements
This is where boolean logic shines. if statements execute a block of code only if a condition is True.
user_is_logged_in = True
user_is_admin = False
if user_is_logged_in:
print("Welcome back!")
if user_is_admin:
print("You have admin privileges.")
else:
print("You are a regular user.")
else:
print("Please log in to continue.")
Output:
Welcome back!
You are a regular user.
Converting to Booleans
You can explicitly convert any value to a boolean using the bool() function. This is the easiest way to understand truthiness.
print(bool(0)) # Output: False
print(bool(42)) # Output: True
print(bool("")) # Output: False
print(bool("Python"))# Output: True
print(bool([])) # Output: False
print(bool([1, 2])) # Output: True
print(bool(None)) # Output: False
print(bool(False)) # Output: False
print(bool(True)) # Output: True
Summary
| Concept | Description | Example |
|---|---|---|
True / False |
The literal boolean values in Python. | my_var = True |
bool Type |
The data type for True and False. |
type(True) is bool |
| Comparison | Getting True/False from comparisons (, >, etc.). |
x == 10 |
| Logical | Combining booleans with and, or, not. |
is_logged_in and is_premium |
| Truthiness | The rule that non-boolean values are treated as True or False in an if statement. |
if my_list: checks if the list is not empty. |
