Foundations of Python Programming: Functions First

Section5.2Boolean Values and Boolean Expressions

The Python type for storing true and false values is called bool. That is, a bool variable stores True or False, just as a float variable stores a number and a str variable stores text. The Bool type is named after the British mathematician, George Boole. George Boole created Boolean Algebra, which is the basis of all modern computer arithmetic.
There are only two boolean values. They are True and False. Capitalization is important, since true and false are not boolean values (remember Python is case sensitive).

Note5.2.1.

Boolean values are not strings!
It is extremely important to realize that True and False are not strings. They are not surrounded by quotes. They are the only two values in the data type bool. Take a close look at the types shown below.
A boolean expression is an expression that evaluates to a boolean value. Below are two examples of boolean expressions that use the equality operator ==, which tests whether two things are equal and returns the bool result.
In the first statement, the two operands are equal, so the boolean expression evaluates to True. In the second statement, 5 is not equal to 6, so we get False.
The == operator is one of six common comparison operators that can be used to construct boolean expressions; the others are:
x != y               # x is not equal to y
x > y                # x is greater than y
x < y                # x is less than y
x >= y               # x is greater than or equal to y
x <= y               # x is less than or equal to y

Although these operations are probably familiar to you, the Python symbols are different from the mathematical symbols. A common error is to use a single equal sign (=) instead of a double equal sign (==). Remember that = is an assignment operator and == is a comparison operator. Also, there is no such thing as =< or =>.
Note too that an equality test is symmetric, but assignment is not. For example, if a == 7 then 7 == a. But in Python, the statement a = 7 is legal and 7 = a is not. (Can you explain why?)

Checkpoint5.2.2.

Which of the following is a Boolean expression? Select all that apply.
• True
• True and False are both Boolean literals.
• 3 == 4
• The comparison between two numbers via == results in either True or False (in this case False), both Boolean values.
• 3 + 4
• 3+4 evaluates to 7, which is a number, not a Boolean value.
• 3 + 4 == 7
• 3+4 evaluates to 7. 7 == 7 then evaluates to True, which is a Boolean value.
• "False"
• With the double quotes surrounding it, False is interpreted as a string, not a Boolean value. If the quotes had not been included, False alone is in fact a Boolean value.