Python provides the bool type, which can have two values: True and False (capitalized)
done = False
done = True
Booleans are especially useful with conditional control structures like if statements:
done = True
if done:
# run some code here
else:
# run some other code
When evaluating a value for True or False, if the value is not a bool we have some rules depending on the type we’re checking:
- numbers are always
Trueunless for the number0 - strings are
Falseonly when empty - lists, tuples, sets, dictionaries are
Falseonly when empty
You can check if a value is a boolean in this way:
done = True
type(done) == bool #True
Or using isinstance(), passing 2 arguments: the variable, and the bool class:
done = True
isinstance(done, bool) #True
The global any() function is also very useful when working with booleans, as it returns True if any of the values of the iterable (list, for example) passed as argument are True:
book_1_read = True
book_2_read = False
read_any_book = any([book_1_read, book_2_read])
The global all() function is same, but returns True if all of the values passed to it are True:
ingredients_purchased = True
meal_cooked = False
ready_to_serve = all([ingredients_purchased, meal_cooked])