As far as data types go, the Boolean type is by far the simpler one.
A boolean typed variable is either Trueor False.
Notice the capitalization, that is how you should write these values in Python, not "true" or "false".
Declaring a Boolean Variable
When you assign True or False, the variable is inferred as boolean automatically by the Python intepreter, but you can set that explicitly using the boolkeyword.
my_boolean = True
print(type(my_boolean))
#<class 'bool'>
my_bool = bool(True)
print(type(my_bool))
#<class 'bool'>Boolean Algebra
To deal with booleans right, it’s important to understand Boolean Algebra.
Boolean algebra has three basic operations: and, or, not.
In Python, these operators are written in lowercase as shown.
The combinations of values for each of these operations are better shown in a Truth table, that allows you to list all possible inputs and outputs.
and Truth Table
Only when both x and y are true, the and operator evaluates to True.
| x | y | x and y |
|---|---|---|
| True | True | True |
| True | False | False |
| False | True | False |
| False | False | False |
Example in Python:
x = True
y = False
print(x and y)
#Falseor Truth Table
Only when both x and y are false, the or operator evaluates to False.
| x | y | x or y |
|---|---|---|
| True | True | True |
| True | False | True |
| False | True | True |
| False | False | False |
Example in Python:
x = True
y = False
print(x or y)
#Truenot Truth Table
The not operator simply inverts the input.
| x | not x |
|---|---|
| True | False |
| False | True |
Example in Python:
x = True
print(not x)
#FalseEvaluating Boolean Expressions
Comparison expressions that return a boolean value are easily understood if read in plain english.
If I ask: "Is 2 greater than 1?". The answer will be "Yes" or as we now know it True.
This example in Python translates to:
x = 2 > 1
print(x)
#TrueThe opposite case, 2 is less than 1:
x = 2 < 1
print(x)
#FalseAnother example would be to check if 2 and 1 are the same, which is False, of course.
x = 2 == 1
print(x)
#FalseThat’s it for Booleans in Python, if you want to know more on data types in general in Python, read my post on Python Data Types.