PythonBooleans
Booleans represent one of two values:True
orFalse
.
Boolean Values
In programming you often need to know if an expression isTrue
orFalse
.
You can evaluate any expression in Python, and get one of two answers,True
orFalse
.
When you compare two values, the expression is evaluated and Python returns the Boolean answer:
When you run a condition in an if statement, Python returnsTrue
orFalse
:
Example
Print a message based on whether the condition isTrue
orFalse
:
b = 33
if b > a:
print("b is greater than a")
else:
print("b is not greater than a")
Evaluate Values and Variables
Thebool()
function allows you to evaluate any value, and give youTrue
orFalse
in return,
Most Values are True
Almost any value is evaluated toTrue
if it has some sort of content.
Any string isTrue
, except empty strings.
Any number isTrue
, except0
.
Any list, tuple, set, and dictionary areTrue
, except empty ones.
Example
The following will return True:
bool(123)
bool(["apple", "cherry", "banana"])
Some Values are False
In fact, there are not many values that evaluate toFalse
, except empty values, such as()
,[]
,{}
,""
, the number0
, and the valueNone
. And of course the valueFalse
evaluates toFalse
.
Example
The following will return False:
bool(None)
bool(0)
bool("")
bool(())
bool([])
bool({})
One more value, or object in this case, evaluates toFalse
, and that is if you have an object that is made from a class with a__len__
function that returns0
orFalse
:
Example
def __len__(self):
return 0
myobj = myclass()
print(bool(myobj))
Functions can Return a Boolean
You can create functions that returns a Boolean Value:
Example
Print the answer of a function:
return True
print(myFunction())
You can execute code based on the Boolean answer of a function:
Example
Print "YES!" if the function returns True, otherwise print "NO!":
return True
if myFunction():
print("YES!")
else:
print("NO!")
Python also has many built-in functions that return a boolean value, like theisinstance()
function, which can be used to determine if an object is of a certain data type: