Understanding Python Booleans
Booleans represent one of two values: True
or False
. In Python, Booleans are often used in conditions and comparisons. Booleans are essential in controlling the flow of the program using decision-making structures like if
statements.
Basic Boolean Values
Booleans are derived from conditions and comparisons. When you run a comparison in Python, it will return a Boolean value, either True
or False
.
Example of Basic Boolean Values
# Basic Booleans
is_true = True
is_false = False
print(is_true)
print(is_false)
Output
True
False
Explanation: In this example, is_true
holds the value True
, and is_false
holds the value False
. These are basic Boolean values in Python.
Example: Boolean from Comparisons
# Boolean from comparisons
x = 5
y = 10
is_equal = x == y # x equals y
is_less = x < y # x is less than y
print(is_equal)
print(is_less)
Output
False
True
Explanation: Here, x == y
checks if x
equals y
, returning False
. The comparison x < y
returns True
because x
is less than y
.
Boolean Comparisons
Booleans are often the result of comparisons. Python supports several comparison operators, such as ==
(equal to), !=
(not equal to), >
(greater than), and <
(less than).
Example of Boolean Comparisons
# Boolean Comparisons
x = 10
y = 20
is_equal = x == y # Checks if x is equal to y
is_greater = x > y # Checks if x is greater than y
is_not_equal = x != y # Checks if x is not equal to y
print(is_equal)
print(is_greater)
print(is_not_equal)
Output
False
False
True
Explanation: The comparison x == y
checks whether x
is equal to y
. Since 10
is not equal to 20
, the result is False
. Similarly, x > y
checks if x
is greater than y
, and the result is also False
. However, x != y
evaluates to True
since x
and y
are not equal.
Boolean in Conditional Statements
Booleans are commonly used in conditional statements to control the flow of the program. An if
statement evaluates a Boolean expression, and if the result is True
, the block of code under it is executed.
Example with Conditional Statements
# Boolean in conditional statements
x = 15
if x > 10:
print("x is greater than 10")
else:
print("x is not greater than 10")
Output
x is greater than 10
Explanation: The if
statement evaluates the Boolean expression x > 10
. Since x
is 15
, which is greater than 10
, the condition is True
, and the first block of code is executed, printing "x is greater than 10"
.
Example with Multiple Conditions
# Boolean with multiple conditions
x = 5
y = 15
if x < 10 and y > 10:
print("Both conditions are true.")
else:
print("One or both conditions are false.")
Output
Both conditions are true.
Explanation: The if
statement checks two conditions: x < 10
and y > 10
. Since both conditions are true, the first block of code is executed, printing "Both conditions are true."
.
Boolean and Logical Operators
Python supports logical operators like and
, or
, and not
to combine or modify Boolean expressions.
Example with Logical Operators
# Boolean with logical operators
x = 5
y = 10
is_within_range = x > 0 and y < 20 # Checks if both conditions are true
is_outside_range = not is_within_range
print(is_within_range)
print(is_outside_range)
Output
True
False
Explanation: The expression x > 0 and y < 20
checks if both conditions are true. Since x = 5
and y = 10
, both conditions are true, so is_within_range
is True
. The not
operator reverses this value for is_outside_range
, making it False
.
Truthiness and Falsiness
In Python, non-Boolean values can also be evaluated in a Boolean context. For example, empty sequences (such as an empty list or string) are considered False
, while non-empty sequences are considered True
.
Example of Truthy and Falsy Values
# Truthy and Falsy values
empty_list = []
non_empty_list = [1, 2, 3]
empty_string = ""
non_empty_string = "Hello"
print(bool(empty_list)) # False
print(bool(non_empty_list)) # True
print(bool(empty_string)) # False
print(bool(non_empty_string)) # True
Output
False
True
False
True
Explanation: The bool()
function evaluates the truth value of an object. Empty sequences such as an empty list []
or an empty string ""
are evaluated as False
, while non-empty sequences are evaluated as True
.