0422-python import
Sure — here’s a concise and clear summary of how Python handles from xxx import abc
:
🧵 Summary: What Happens When You from xxx import abc
from xxx import abc
✅ 1. Locate the module
Finds xxx.py
or xxx/__init__.py
Standard import mechanism
✅ 2. Read the entire file
Reads all source code in xxx
Needed to compile the module
✅ 3. Compile the code
Translates entire file to bytecode
Python compiles modules before execution
✅ 4. Execute the entire module
Runs all top-level code (function defs, imports, prints, etc.)
To define abc
and other objects
✅ 5. Build the module’s namespace
Stores all defined names in xxx.__dict__
This is the module’s own scope
✅ 6. Copy only abc
into your scope
Puts abc
into your current namespace
That’s what from ... import abc
means
🧠Key Principles
Modules are fully executed on import, even if you only import one symbol.
Python favors explicitness and namespace isolation.
Function definitions are only known after the file is executed.
Your local scope only receives what you explicitly ask for.
Let me know if you'd like a diagram or live code demonstration to see this step-by-step!
Last updated