A Python boolean (bool) represents one of two truth values: True or False (always capitalized). Booleans drive every if condition, while loop, and filter check in your program.
Comparison operators (==, !=, <, >, <=, >=) and membership checks (in, is) all return a boolean value. Logical operators (and, or, not) combine multiple boolean checks together.
Python lets you test any object directly inside an if statement without calling bool(). Empty values evaluate to False, while populated values evaluate to True.
items_in_cart = ["keyboard", "mouse"]
coupon_code = ""
has_items = len(items_in_cart) > 0
print(has_items) # True
print(bool(coupon_code)) # False
if items_in_cart and not coupon_code:
print("Ready for standard checkout.")
Python stops evaluating and as soon as it sees a falsy value, and stops or as soon as it sees a truthy value. You can rely on this to guard against None or empty lists before accessing attributes.
user = None
if user is not None and user["active"]:
print("Welcome back")
true or false: Python raises NameError unless you capitalize True and False.if flag == True:: Write if flag: directly, or if flag is True: only when distinguishing True from 1.if count: when 0 is valid: Checking if count: treats 0 as missing; write if count is not None: when zero is a valid number.False, None, 0, 0.0, "", [], (), {}, and set() are all falsy. Custom classes can also define __bool__ or __len__.
== and is?== checks whether two objects have equal values, while is checks whether both variables point to the exact same object in memory.
True + True equal 2?Because bool inherits from int, where True has numeric value 1 and False has value 0. This lets you write sum(x > 10 for x in scores) to count matches.
Sign in to track your learning journey, earn industry-recognized certificates, and join our elite developer community.
Quick Access With
Experiment with the code from this lesson in our interactive playground.
You've completed this section! Take a quick 5-question quiz to check your understanding.