If you’ve been following along, you’re probably tired of hearing about lists right about now. Well, this guide has nothing to do with lists! Remember back when you first leaned about variables; how there was one that just held
False called a Boolean? There hasn’t been a guide on them because Booleans are actually that simple. However, there are symbols called Boolean Operators that are used to evaluate whether a statement is true or false. They compare statements and return either true or false. It sounds simple, and in a way it is, but it can get more complex when more comparisons get added.
The first comparison operator is
and. You can use
and to test in one statement
and another statement are both true.
is_it_true = (3 * 4 > 10) and (5 + 5 >= 10) print(is_it_true)
The code prints out
True because both
3 * 4 > 10 and
5 + 5 >= 10 are true.
Try one out where one of the statements is true and the other is false.
is_it_true = (3 * 4 > 10) and (5 + 5 > 10) print(is_it_true)
5 + 5 > 10 is not true, the code prints out
False. In order for an
and expression to return
True, both statements on either side of
and must be true.
You can have multiple Boolean Operators in one statement.
is_it_true = (3 * 4 > 10) and (5 + 5 >= 10) and (4 * 4 > 15) print(is_it_true)
It doesn’t matter that there are multiple statements. Each statement must be true in order for the whole to evaluate to
There can be any number of statements. Python is always going to look at what two things are on either side of
and and return
True if the are both true or
False if any or all of them are false.
is_it_true = (3 * 4 > 10) and (5 + 5 >= 10) and (4 * 4 > 15) and (5 + 4 < 10) print(is_it_true)
or operator also compares the statements on either side of it. In the case of
or it evaluates if one statement or the other is true. If either one is, the entire expression will evaluate to
True. In order for an
or expression to return
False, both statements must be false.
is_it_true = (3 * 4 > 10) or (5 + 5 > 10) print(is_it_true)
The expression is
True because even though
5 + 5 > 10 is not true,
3 * 4 > 10 is.
and, these can also be combined.
is_it_true = (3 * 4 < 10) or (5 + 5 > 10) or (4 * 4 > 15) or (5 + 4 > 10) print(is_it_true)
Even though only one of the statements is true, the expression as a whole is true. Using
or only requires that one statement be true for the entire expression to also be true.
not operator checks if something is not true. If the expression that it is evaluating is not true,
not will evaluate
True. That might seem weird, so here's an example.
is_it_true = not (3 * 4 > 10) print(is_it_true)
Since the statement that
not is evaluating is true, it returns
You can combine different Boolean Operators into the same expression. Using them in conjunction with one another allows you to create finer grained control over the logic in your programming, but it also adds a new degree of complexity.
is_it_true = (3 * 4 > 10) or (5 + 5 > 10) and (4 * 4 > 15) or (5 + 4 > 10) print(is_it_true)
True even though there were false statements. Python compared what was on either side of the
or operators first. Because
or only requires one of the statements that it's evaluating to be true, each
or evaluated to
and checked if the statements on either side of it were true. The
or expressions were on either side of the
and, and they were both true, so the
and and the expression as a whole are also true.
is_it_true = (2 * 6 <= 10) and (32 / 8 >= 4) or not (5 ** 2 < 25) print(is_it_true)
Again, this one came back
(2 * 6 <= 10) and (32 / 8 >= 4) is false because
2 * 6 <= 10 is false.
5 ** 2 < 25 is false, but
True when given a false statement. So, with a false statement on one side of the
or and a true one on the other,
or will evaluate
True along with the entire expression.
Boolean Operators operate based on logic. That's probably the best thing to keep in mind when dealing with them. Think through exactly how statements are compared with on another in a logical procedure.
You can also think of the operators in very simple terms.
and means both must be true.
or means that one must be true.
not just evaluates to the opposite.
It's good practice to come up with as complex of these expressions as you can and try to figure out how they will ultimately evaluate. It takes some getting used to, but the more that you do it, the more familiar you will become with Boolean Operators and Boolean Logic.
Table of Contents
- Python Introduction and Installation Guide
- Python Files and the Interpreter
- Experimenting With Numbers and Text In Python
- Python Variables
- Working With Number Variables In Python
- Python String Basics
- Advanced Python Strings
- Python Comments
- Python Lists
- Python List Methods
- Python Multidimensional Lists
- Python Tuples
- Python Boolean Operators
- Python If Statements
- Python While Loops
- Python For Loops
- Python Dictionaries
- Python Advanced Dictionaries
- Python Functions