Essential Python syntax, data structures, and control flow form the foundation of Python programming. Syntax defines how Python code is written and structured, data structures provide efficient ways to store and organize data, and control flow determines how a program makes decisions and repeats tasks.
Python Syntax Fundamentals
Python's syntax emphasizes readability, using indentation instead of braces to define code blocks—a design choice from PEP 8 style guidelines that keeps your web scripts clean and maintainable.
Python is dynamically typed, meaning you don't declare variable types upfront; the interpreter handles it. Start with a shebang line (#!/usr/bin/env python3) for scripts, followed by imports if needed.
1. Variables: Assign with =. Examples: name = "Alice" (string), age = 25 (integer), price = 19.99 (float).
2. Strings: Use single (') or double (") quotes. Concatenate with + or f-strings: greeting = f"Hello, {name}!".
3. Basic Operators:
| Operator | Type | Example | Web Use Case |
|---|---|---|---|
| + | Arithmetic | total = 10 + 5 | Calculate cart totals |
| == | Comparison | if age >= 18: | Check user eligibility |
| and/or | Logical | if valid and paid: | Validate form submissions |
For input/output in web contexts, use input("Prompt: ") for console testing and print() for debugging server-side logic.
username = input("Enter username: ")
password = input("Enter password: ")
if username == "admin" and password == "secret":
print("Access granted!")
else:
print("Denied.")Essential Data Structures
Data structures in Python store and organize information efficiently, crucial for managing web data like JSON responses from JavaScript fetch calls or session storage.
We'll dive into lists, tuples, dictionaries, and sets—each with real-world web applications, following Python's mutable vs. immutable best practices.
Lists and Tuples
Lists are ordered, mutable collections ideal for dynamic web arrays, like shopping carts.
Tuples are immutable, perfect for fixed data like coordinates in a mapping app.
1. Create a list: fruits = ["apple", "banana", "cherry"].
2. Access: fruits[0] returns "apple".
3. Modify: fruits.append("date") adds an item.
4. Slice: fruits[1:3] gets ["banana", "cherry"].
Tuples: coords = (40.7128, -74.0060) (NYC lat/long)—can't change after creation.
hobbies = ["coding", "design"]
hobbies.extend(["testing", "deploying"])
print(hobbies) # ['coding', 'design', 'testing', 'deploying']Dictionaries and Sets
Dictionaries store key-value pairs, mimicking JSON objects from your JavaScript APIs.
Sets handle unique items, great for deduplicating user tags or emails.
1. Dictionary: user = {"name": "Bob", "role": "dev", "active": True}.
2. Access: user["name"].
3. Add: user["email"] = "bob@example.com".
4. Set: tags = {"html", "css", "js"}—automatically unique.
Practical web example: Merging user profiles.
profile = {"id": 1, "skills": {"Python", "JS"}}
print(profile["skills"]) # {'Python', 'JS'}Control flow directs program execution based on conditions or repetitions, vital for loops in data processing or conditional rendering in backend web logic.
Conditional Statements
Use if-elif-else for decision-making, like routing user requests.
1. Basic: if condition: ... elif other: ... else: ...
2. Indentation defines blocks—no curly braces needed.
Master if-statements, loops, and exception handling to build resilient scripts that won't crash your web server.
Example for web access control
user_level = "premium"
if user_level == "premium":
print("Full access")
elif user_level == "basic":
print("Limited access")
else:
print("No access")Loops and Iterations
Loops repeat actions, such as iterating over database query results for a web dashboard.
1. For loops: for item in fruits: print(item).
2. While loops: count = 0; while count < 5: count += 1.
Best Practice: Use range() for numbered iterations: for i in range(3): print(i).
Nested loop example for a multiplication table (useful for dynamic HTML tables)
for i in range(1, 4):
for j in range(1, 4):
print(f"{i} x {j} = {i*j}")Exception Handling
Catch errors gracefully with try-except, preventing web app crashes from bad inputs.
try:
num = int(input("Enter number: "))
print(100 / num)
except ValueError:
print("Invalid input!")
except ZeroDivisionError:
print("Can't divide by zero.")
finally:
print("Processing complete.")
We have a sales campaign on our promoted courses and products. You can purchase 1 products at a discounted price up to 15% discount.