# Python Quickstart Reference - Quick Reference - Launch Pad

__ _______________________ _________._________________________ / \ / \_ _____/\______ \/ _____/| \__ ___/\_ _____/ \ \/\/ /| __)_ | | _/\_____ \ | | | | | __)_ \ / | \ | | \/ \| | | | | \ \__/\ / /_______ / |______ /_______ /|___| |____| /_______ / \/ \/ \/ \/ \/

# Python Quickstart Reference

← Back to quick reference

← Home

Quick reference guide for Python. Essential syntax, control flow, data structures, and common patterns.

## Hello World

    print("Hello, World!")  # The universal programmer's rite of passage.

## Variables

    x = 42          # integer
    name = "Alice"  # string
    flag = True     # boolean
    pi = 3.14       # float

## Control Flow

### If/Else

    if x > 10:               # Colon is mandatory; indentation rules supreme
        print("x is big")
    else:
        print("x is small")

    if x > 10:
        print("big")
    elif x > 5:
        print("medium")
    else:
        print("small")

### For Loops

    for i in range(5):       # i goes from 0 to 4
        print(i)

    for item in [1, 2, 3]:   # Iterate over list
        print(item)

    for i in range(0, 10, 2):  # Start, stop, step
        print(i)                # Prints 0, 2, 4, 6, 8

### While Loops

    while x > 0:             # Beware infinite loops
        x -= 1
        print(x)

## Functions

    def add(a, b):           # 'def' starts the function
        return a + b

    print(add(2, 3))         # Call a function with parentheses

    def greet(name="World"): # Default parameter
        return f"Hello, {name}!"

    greet()                  # Uses default
    greet("Alice")           # Overrides default

## Lists / Dictionaries

### Lists

    nums = [1, 2, 3]         # Lists are ordered, mutable
    for n in nums:
        print(n)

    nums.append(4)           # Add to end
    nums.insert(0, 0)        # Insert at index
    nums.pop()               # Remove and return last item
    nums[0]                  # Access by index
    nums[-1]                 # Last item (negative indexing)
    nums[1:3]                # Slice: items 1 to 2 (not 3)

### Dictionaries

    person = {"name": "Alice", "age": 30}  # Key-value mapping
    print(person["name"])                    # Access via keys
    person["city"] = "NYC"                   # Add new key-value
    person.get("name")                       # Safe access (returns None if missing)
    person.get("phone", "N/A")               # With default value

    for key, value in person.items():        # Iterate over key-value pairs
        print(f"{key}: {value}")

### Tuples

    point = (3, 4)           # Immutable ordered collection
    x, y = point             # Unpacking

### Sets

    unique = {1, 2, 3}       # Unordered collection of unique items
    unique.add(4)            # Add item
    unique.remove(2)         # Remove item

## String Operations

    text = "Hello, World!"
    text.upper()             # "HELLO, WORLD!"
    text.lower()             # "hello, world!"
    text.split(",")          # ["Hello", " World!"]
    text.replace("World", "Python")  # "Hello, Python!"
    f"Value: {x}"            # f-string formatting
    "Value: {}".format(x)    # .format() method

## List Comprehensions

    squares = [x**2 for x in range(10)]           # [0, 1, 4, 9, 16, ...]
    evens = [x for x in range(10) if x % 2 == 0] # [0, 2, 4, 6, 8]

## Error Handling

    try:
        result = 10 / 0
    except ZeroDivisionError:
        print("Can't divide by zero!")
    except Exception as e:
        print(f"Error: {e}")
    finally:
        print("This always runs")

## File Operations

    # Reading
    with open("file.txt", "r") as f:
        content = f.read()
        lines = f.readlines()

    # Writing
    with open("file.txt", "w") as f:
        f.write("Hello, World!")

    # Appending
    with open("file.txt", "a") as f:
        f.write("New line\n")

## Classes

    class Person:
        def __init__(self, name, age):
            self.name = name
            self.age = age

        def greet(self):
            return f"Hello, I'm {self.name}"

    person = Person("Alice", 30)
    print(person.greet())

## Tips

- Indentation *is* syntax — Python hates lazy spacing.

- `input()` always returns a string; convert to int/float if needed:

      age = int(input("How old are you? "))

- Python is dynamically typed: flexible, but watch out for sneaky type errors.

- Everything is an object, even functions and classes.

- `range(5)` goes 0..4, not 5 — the Pythonic gotcha.

- Use `with` statements for file operations — automatic cleanup.

- List comprehensions are faster and more Pythonic than loops for simple transformations.

- Use `enumerate()` when you need both index and value:

      for i, item in enumerate(items):
          print(f"{i}: {item}")

- Use `zip()` to iterate over multiple lists simultaneously:

      for name, age in zip(names, ages):
          print(f"{name} is {age}")

- Import modules with `import module` or specific functions with `from module import function`.