Conditional Statements
Overview
Conditional statements allow your program to make decisions and execute different blocks of code based on conditions.
Learning Objectives
- Write decision blocks using if, elif, and else.
- Understand truthiness and falsiness of basic objects.
- Use short inline conditional expressions.
Concept Explanation
Conditionals evaluate statements from top to bottom. Once a condition is met, that block runs and execution skips the rest. Objects have inherent truthiness: empty lists or empty text strings evaluate to False, while populated ones evaluate to True.
Code Examples
Example 1 — Basics
This example introduces the fundamental syntax and concepts.
score = 85
if score >= 90:
print('Grade: A')
elif score >= 80:
print('Grade: B')
else:
print('Grade: C')
Example 2 — Everyday Usage
This example demonstrates a realistic scenario handling business parameters.
# Check if items cart is empty
cart_items = []
if not cart_items:
print('Your shopping cart is empty.')
else:
print(f'You have {len(cart_items)} items in your cart.')
Example 3 — Advanced Example
This example shows clean, production-grade code structure following senior development standards.
# Set status message using inline conditional expression
user_logged_in = True
status_msg = 'Welcome back!' if user_logged_in else 'Please sign in.'
print(status_msg)
Visual Flow
The following execution flow represents the step-by-step evaluation inside the interpreter:
Evaluate condition check → If True, run block → Skip remaining elif/else → Continue program
Common Mistakes
Review these common pitfalls when working with this topic:
- Forgetting the colon (:) character at the end of if, elif, or else statements.
- Using a single equals sign (=) instead of double equals (==) inside conditions.
- Comparing boolean variables explicitly to True or False (e.g. if is_active == True:).
- Writing misaligned indentation blocks inside conditions.
Best Practices
Enforce these Pythonic best practices in your codebase:
if value == True:
status = 'active'
else:
status = 'inactive'
status = 'active' if value else 'inactive' # Clean inline ternary
Quick Revision
Use these key summaries for last-minute revision:
- if initiates a conditional check block.
- elif checks additional conditions if previous ones failed.
- else runs if no prior conditions were met.
- Indent code blocks to show what code belongs to each branch.
- Empty strings, empty lists, 0, and None are considered False.