Truth expressions
These binary variables allow the state True (true) or False (false). They can be concatenated using and (and) and or (or) as in normal language usage:
Example
True and False # False
True or False # True
Here, 'and' takes precedence over 'or':
Example
(True or False) and False # False
True or (False and False) # True
True or False and False # True
To improve the readability of the code, it is advisable to always use explicit brackets. Otherwise it is easy to lose track of complex conditions .
Conversion
As in other programming languages, many data types are implicitly converted into truth expressions. The following applies to numbers: zero is false, everything else is true. For strings, only the empty string is False.
Example
bool(2) # True
bool(-1) # True
bool(0) # False
bool(0.) # False
bool("True") # True
bool("False") # True
bool("") # False
Analogue to the rule "if it is nothing or zero, then it is False", containers are False if they are empty:
Example
bool([]) # False
bool([False]) # True
bool({}) # False
bool(set()) # False