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