Understanding Boolean Logic in Python 3
Beginner-friendly guide to boolean logic in Python: comparison and logical operators, truth tables, examples, and flow control best practices.
Drake Nguyen
Founder · System Architect
Introduction
Boolean values in Python represent truth: either True or False. Understanding boolean logic in Python is essential for comparisons, conditional flows, and controlling program behavior. In Python these values and keywords are capitalized (True, False) and are used throughout expressions and control structures.
Prerequisites
Follow along with these examples using Python 3 in an interactive shell (python3) or a script file. Basic familiarity with variables and printing output will help, but this guide is suitable for beginners learning python boolean expressions and python boolean operators.
Comparison operators (python comparison operators)
Comparison operators evaluate two values and return a python boolean (True or False). Common operators are:
==equal to!=not equal to<less than>greater than<=less than or equal to>=greater than or equal to
Example: compare two integers and print the results.
# comparison example
x = 5
y = 8
print("x == y:", x == y)
print("x != y:", x != y)
print("x < y:", x < y)
print("x > y:", x > y)
print("x <= y:", x <= y)
print("x >= y:", x >= y)
# Expected output
# x == y: False
# x != y: True
# x < y: True
# x > y: False
# x <= y: True
# x >= y: False
Comparisons also work with strings (lexicographic ordering) and boolean values themselves. Note the difference between the assignment operator = and the equality comparison ==:
x = y # assigns y to x
x == y # checks whether x and y are equal
Logical operators (python logical operators)
Logical operators combine boolean expressions. Python provides and, or, and not:
and— True only if both operands are Trueor— True if at least one operand is Truenot— negates the operand
These operators implement short-circuit evaluation: for example, in A and B if A is False, Python does not evaluate B. That behavior is useful when calling functions or checking for None before accessing attributes.
# logical operator examples
print((9 > 7) and (2 < 4)) # True and True -> True
print((8 == 8) or (6 != 6)) # True or False -> True
print(not (3 <= 1)) # not False -> True
# compound expression
print(not ((-0.2 > 1.4) and ((0.8 < 3.1) or (0.1 == 0.1)))) # evaluates to True
Truth tables (python boolean truth table)
Truth tables summarize results for boolean operators. These are helpful when reasoning about boolean logic in Python code.
==
x == y -> result
True == True -> True
True == False -> False
False == True -> False
False == False -> True
and
x and y -> result
True and True -> True
True and False -> False
False and True -> False
False and False -> False
or
x or y -> result
True or True -> True
True or False -> True
False or True -> True
False or False -> False
not
not x -> result
not True -> False
not False -> True
Using boolean logic in Python for flow control
Boolean expressions are the backbone of conditionals and control flow. An if statement checks a condition (which evaluates to True or False) and runs the corresponding block:
= 65: # condition evaluates to a boolean
print("Passing grade")
else:
print("Failing grade")
PEP 8 and common Python style recommend avoiding explicit comparisons to True or False (for example, don’t write if flag == True:). Instead, rely on the truthiness of objects or write clear comparisons like if x == 0: when appropriate.
Conclusion
Mastering boolean logic in Python—comparison operators, logical operators, and truth tables—helps you write clearer conditionals and safer control flow. Practice evaluating python boolean expressions and experiment with short-circuit behavior to become more confident when making decisions in your code.