5.3. Boolean Data Type¶
The boolean data type is either True or False. In Python, boolean variables are defined by the True
and False
keywords.
>>> a = True
>>> type(a)
<class 'bool'>
>>> b = False
>>> type(b)
<class 'bool'>
The output <class 'bool'>
indicates the variable is a boolean data type.
Note the keywords True
and False
must have an Upper Case first letter. Using a lowercase true
returns an error.
>>> c = true
Traceback (most recent call last):
File "<input>", line 1, in <module>
NameError: name 'true' is not defined
>>> d = false
Traceback (most recent call last):
File "<input>", line 1, in <module>
NameError: name 'false' is not defined
5.3.1. Integers and Floats as Booleans¶
Integers and floating point numbers can be converted to the boolean data type using Python’s bool()
function. An int, float or complex number set to zero returns False
. An integer, float or complex number set to any other number, positive or negative, returns True
.
>>> zero_int = 0
>>> bool(zero_int)
False
>>> pos_int = 1
>>> bool(pos_int)
True
>>> neg_flt = -5.1
>>> bool(neg_flt)
True
5.3.2. Boolean Arithmetic¶
Boolean arithmetic is the arithmetic of true and false logic. A boolean or logical value can either be True
or False
. Boolean values can be manipulated and combined with boolean operators. Boolean operators in Python include and
, or
, and not
.
The common boolean operators in Python are below:
or
and
not
==
(equivalent)!=
(not equivalent)
In the code section below, two variables are assigned the boolean values True
and False
. Then these boolean values are combined and manipulated with boolean operators.
>>> A = True
>>> B = False
>>> A or B
True
>>> A and B
False
>>> not A
False
>>> not B
True
>>> A == B
False
>>> A != B
True
Boolean operators such as and
, or
, and not
can be combined with parenthesis to make compound boolean expressions.
>>> C = False
>>> A or (C and B)
True
>>> (A and B) or C
False
A summary of boolean arithmetic and boolean operators is shown in the table below:
A |
B |
not A |
not B |
A == B |
A =! B |
A or B |
A and B |
---|---|---|---|---|---|---|---|
T |
F |
F |
T |
F |
T |
T |
F |
F |
T |
T |
F |
F |
T |
T |
F |
T |
T |
F |
F |
T |
F |
T |
T |
F |
F |
T |
T |
T |
F |
F |
F |