Day 1: Python Is Not Running Your Code (Execution Model Deep Dive)
You write Python. But Python is not executing your code the way you think. Today, you stop treating Python as magic. Today’s Goal By the end of today, you will: Understand how Python executes your code Learn what happens between .py to execution Build a mental model of the Python interpreter The Illusion You write: x = 10 y = x + 5 print(y) You assume: Python reads this line by line and runs it That assumption is wrong. ...
Day 2: Variables Don't Store Values (Python Memory Model)
If you think x = 10 means “x stores 10”… you are already misunderstanding Python. Today, we fix that. Today’s Goal By the end of today, you will: Understand how Python stores data in memory Learn references vs values Understand mutability Avoid hidden bugs The Illusion You write: x = 10 y = x You think: x and y both store 10 Wrong. What Actually Happens Memory: [10] ← object x ─────┐ ├──→ [10] y ─────┘ Variables do not store values. They store references to objects. ...
Day 3: Your Data Structures Are Not What You Think (Lists, Tuples, Sets Internals)
You think a list is just a collection of items. It is not. It is a memory-managed structure with real trade-offs. Today, you stop using data structures blindly. Today’s Goal By the end of today, you will: Understand how lists, tuples, and sets work internally Learn time and space complexity Choose the right structure based on behavior and cost The Illusion data = [1, 2, 3] You think this stores values. Reality: [ ptr | ptr | ptr ] -> references to objects A list stores references, not values. ...
Day 4: Dictionaries Are Magic (Until They Aren’t) — Hashing & Collisions
You think dictionary lookup is always O(1). That’s only half the story. Today, you understand how dictionaries actually work. Today’s Goal By the end of today, you will: Understand how dictionaries store data Learn how hashing works Understand collisions and their impact Know when O(1) breaks down The Illusion user = { "name": "John", "age": 30 } You think: This is just key-value storage Reality: This is a highly optimized hash table Dictionary Internal Model key -> hash(key) -> index -> slot -> value Dictionary does NOT scan all keys. It jumps directly using hash. ...
Day 5: Your Function Calls Are Not Free — Call Stack & Execution Flow
You think calling a function is cheap. It isn’t. Every function call has a cost. Today, you understand what actually happens when Python executes functions. Today’s Goal By the end of today, you will: Understand how function calls work internally Learn what a call stack is Visualize execution flow Understand performance impact of function calls The Illusion def add(a, b): return a + b add(2, 3) You think: Python just jumps into the function Reality: ...
Day 6: Imports Are Not Just Includes — Module System & Execution
You think import just brings code into your file. It does much more than that. Today, you understand how Python loads, initializes, and caches modules. Today’s Goal By the end of today, you will: Understand how Python resolves imports Learn module execution model Understand import caching Avoid common import pitfalls The Illusion import math You think: Python just loads math Reality: Python searches, loads, compiles (if needed), executes, and caches the module ...
Day 7: Errors Are Not Failures — Exception Handling & Control Flow
You think errors stop your program. In Python, they are part of control flow. Today, you understand how Python handles errors under the hood. Today’s Goal By the end of today, you will: Understand how exceptions work internally Learn stack unwinding Use exceptions correctly (and not overuse them) Understand performance implications The Illusion x = int("abc") You think: Program crashes Reality: Python raises an exception object and unwinds the stack What Is an Exception? An exception is: ...
Day 8: Stop Creating Lists — Iterators & Generators (Lazy Execution)
You think Python processes everything immediately. It doesn’t. Python can be lazy. Today, you understand how iteration really works under the hood. Today’s Goal By the end of today, you will: Understand iterator protocol Learn how generators work internally See how lazy execution saves memory Avoid unnecessary allocations The Illusion for i in [1,2,3]: print(i) You think: Python loops over the list directly Reality: Python asks for an iterator and pulls values one by one ...
Day 9: Your Functions Can Be Rewritten — Decorators & Runtime Behavior
You think a function is fixed once defined. It is not. In Python, functions are objects—and can be modified at runtime. Today, you understand how decorators actually work under the hood. Today’s Goal By the end of today, you will: Understand how decorators work internally Learn function wrapping Understand closures Use decorators for real-world patterns The Illusion def greet(): print("hello") You think: greet is just a function Reality: greet is an object that can be passed, modified, and replaced ...
Day 10: Python Is Not Parallel — Concurrency, Threads & Async Explained
You think Python runs things in parallel. Most of the time, it doesn’t. Today, you understand how Python handles concurrency, why it behaves the way it does, and how async actually works. Today’s Goal By the end of today, you will: Understand concurrency vs parallelism Learn about threads and the GIL Understand async/await internals Know when to use threading vs async vs multiprocessing The Illusion import threading def task(): print("running") threading.Thread(target=task).start() You think: ...