Python Booleans: Understanding Boolean Values and Expressions
Learn about Booleans in Python, which represent the two possible values: True and False. This guide explains how to evaluate expressions to determine their Boolean value and provides insights into using Boolean logic in programming.
Python - Booleans
Booleans represent one of two values: True or False.
Boolean Values
In programming, you often need to know if an expression is True or False.
You can evaluate any expression in Python, and get one of two answers: True or
False.
Example
When you compare two values, the expression is evaluated, and Python returns the Boolean answer:
print(7 > 3)
print(7 == 3)
print(7 < 3)
Output
True
False
False
Example
When you run a condition in an if statement, Python returns True or
False:
a = 150
b = 45
if b > a:
print("b is greater than a")
else:
print("b is not greater than a")
Output
b is not greater than a
Evaluate Values and Variables
The bool() function allows you to evaluate any value, and gives you True or
False in return:
Example
Evaluate a string and a number:
print(bool("Python"))
print(bool(22))
Output
True
True
Example
Evaluate two variables:
x = "Python"
y = 22
print(bool(x))
print(bool(y))
Output
True
True
Most Values are True
Almost any value is evaluated to True if it has some sort of content.
Any string is True, except empty strings.
Any number is True, except 0.
Any list, tuple, set, and dictionary are True, except empty ones.
Example
The following will return True:
print(bool("abc"))
print(bool(123))
print(bool(["apple", "banana", "cherry"]))
Output
True
True
True
Some Values are False
There are not many values that evaluate to False, except empty values, such as (),
[], {}, "", the number 0, and the value None. And of
course, the value False evaluates to False.
Example
The following will return False:
print(bool(False))
print(bool(None))
print(bool(0))
print(bool(""))
print(bool(()))
print(bool([]))
print(bool({}))
Output
False
False
False
False
False
False
False
One more value, or object in this case, evaluates to False, and that is if you have an object
that is made from a class with a __len__ function that returns 0 or False:
Example
class MyClass:
def __len__(self):
return 0
myobj = MyClass()
print(bool(myobj))
Output
False
Functions can Return a Boolean
You can create functions that return a Boolean value:
Example
Print the answer of a function:
def my_function():
return True
print(my_function())
Output
True
You can execute code based on the Boolean answer of a function:
Example
Print "YES!" if the function returns True, otherwise print "NO!":
def my_function():
return True
if my_function():
print("YES!")
else:
print("NO!")
Output
YES!
Python also has many built-in functions that return a Boolean value, like the isinstance()
function, which can be used to determine if an object is of a certain data type:
Example
Check if an object is an integer or not:
x = 150
print(isinstance(x, int))
Output
True