We use import statements to bring code from other files or libraries into our program so we can use it without rewriting it.
Import statement behavior in Python
Start learning this pattern below
Jump into concepts and practice - no test required
or
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Introduction
Syntax
Python
import module_name # or from module_name import specific_name # or from module_name import *
import module_name brings the whole module so you use module_name.item.
from module_name import specific_name brings only that item directly.
Examples
math.sqrt.Python
import math print(math.sqrt(16))
Python
from math import sqrt print(sqrt(25))
Python
from math import * print(sin(0))
Sample Program
This program imports the math module, calculates the square root of 9, and prints the result.
Python
import math number = 9 root = math.sqrt(number) print(f"The square root of {number} is {root}")
Important Notes
When you import a module, Python runs the code inside it once and remembers it.
If you import the same module again, Python does not run it again but reuses it.
Use from module import * carefully because it can overwrite names in your program.
Summary
Import statements let you use code from other files or libraries.
You can import the whole module or just parts of it.
Importing runs the module code once and reuses it on later imports.
Practice
1. What happens when you use
import module_name in Python?easy
Solution
Step 1: Understand import behavior
When you import a module, Python loads the whole module and runs its code once.Step 2: Recognize module reuse
After the first import, Python reuses the loaded module without running its code again.Final Answer:
The entire module is loaded and its code runs once. -> Option DQuick Check:
Import runs module once = A [OK]
Hint: Import runs module code once, then reuses it [OK]
Common Mistakes:
- Thinking module code runs every time a function is called
- Believing only used functions are loaded
- Assuming module code is copied into current file
2. Which of the following is the correct syntax to import only the
sqrt function from the math module?easy
Solution
Step 1: Recall import syntax for specific functions
To import a specific function, usefrom module import function.Step 2: Match syntax to options
from math import sqrt matches this syntax:from math import sqrt.Final Answer:
from math import sqrt -> Option AQuick Check:
Specific import uses 'from module import item' = A [OK]
Hint: Use 'from module import name' to import parts [OK]
Common Mistakes:
- Using dot notation in import statement incorrectly
- Swapping module and function names
- Using 'import' with 'from' in wrong order
3. Consider two files:
What is the output when running
# file1.py
print('Loading file1')
value = 10# file2.py
import file1
import file1
print(file1.value)What is the output when running
file2.py?medium
Solution
Step 1: Understand module import behavior
Python runs the module code only once, even if imported multiple times.Step 2: Trace the output
On first import, 'Loading file1' prints. Second import does nothing. Then prints value 10.Final Answer:
Loading file1 10 -> Option BQuick Check:
Module code runs once, reused later = B [OK]
Hint: Module code runs once, even if imported multiple times [OK]
Common Mistakes:
- Expecting module code to run twice
- Thinking repeated imports cause errors
- Confusing print output order
4. What is wrong with this code?
import math
from math import sqrt
print(math.sqrt(16))medium
Solution
Step 1: Check import statements
Importing the same module twice with different styles is allowed and does not cause error.Step 2: Verify function call
Callingmath.sqrt(16)works and returns 4.0.Final Answer:
There is no error; the code runs and prints 4.0. -> Option CQuick Check:
Multiple imports allowed; function call works = D [OK]
Hint: Multiple imports of same module are allowed [OK]
Common Mistakes:
- Thinking multiple imports cause errors
- Confusing import styles must be exclusive
- Expecting NameError from this code
5. You have a module
What will be printed and why?
config.py with a variable setting = 5. In your main program, you do:import config
config.setting = 10
import config
print(config.setting)What will be printed and why?
hard
Solution
Step 1: Understand module import caching
Python loads a module once and caches it; subsequent imports reuse the same module object.Step 2: Analyze variable assignment and import
Changingconfig.settingto 10 modifies the cached module. The second import does not reload, so the change remains.Final Answer:
10, because the module is loaded once and changes persist. -> Option AQuick Check:
Module cached; changes persist = C [OK]
Hint: Module imports cache; variable changes stay across imports [OK]
Common Mistakes:
- Assuming second import reloads module
- Thinking module variables are immutable
- Believing variable becomes inaccessible
