We use “truthy” and “falsy” to differentiate from the bool
values True
and False
. A “truthy” value will satisfy the check performed by if
or while
statements. As explained in the documentation, all values are considered “truthy” except for the following, which are “falsy”:
None
False
- Numbers that are numerically equal to zero, including:
0
0.0
0j
decimal.Decimal(0)
fraction.Fraction(0, 1)
- Empty sequences and collections, including:
[]
– an emptylist
{}
– an emptydict
()
– an emptytuple
set()
– an emptyset
''
– an emptystr
b''
– an emptybytes
bytearray(b'')
– an emptybytearray
memoryview(b'')
– an emptymemoryview
- an empty
range
, likerange(0)
- objects for which
obj.__bool__()
returnsFalse
obj.__len__()
returns0
, given thatobj.__bool__
is undefined