⭐ Module Reloading in Python
When a module is imported using the import statement, Python loads it only once during a program’s execution—even if you import it multiple times.
This means:
✔ The module is loaded into memory only on the first import
✔ Subsequent imports use the cached version
✔ If you modify the module’s code after importing, Python will not automatically reload it
To load the updated version, you must reload the module manually.
This process is called module reloading.
⭐ Why Do We Need Module Reloading?
Module reloading is useful when:
✔ You are modifying a module frequently (during development)
✔ You want Python to use the updated code without restarting the program
✔ Using interactive shell / Jupyter Notebook
✔ Working with dynamic configurations
Without reloading, Python continues to use the old version stored in memory.
⭐ How to Reload a Module?
Python provides a function for this:
importlib.reload(module_name)
But first, you must import the module and the importlib library.
⭐ Example of Module Reloading
Assume we have a module named mymodule.py
Initial code:
# mymodule.py
def greet():
print("Hello, Python!")
Import it:
import mymodule
mymodule.greet() # Output: Hello, Python!
Now modify mymodule.py:
def greet():
print("Hello, Welcome to Programming!")
If you run again:
mymodule.greet()
❌ Python still prints:
Hello, Python!
Because it uses the cached old version.
⭐ Reloading the Module
import importlib
importlib.reload(mymodule)
Now call the function again:
mymodule.greet()
✔ Output:
Hello, Welcome to Programming!
⭐ Syntax for Reloading a Module
import importlib
importlib.reload(module_name)
⭐ Important Points About Reloading
✔ reload() loads the latest version of the module
✔ Works only on modules already imported
✔ Useful during development
✔ Only reloads the module object—not objects already imported using from ... import
⭐ Reload Does Not Work for:
If you import like this:
from mymodule import greet
Then:
importlib.reload(mymodule)
greet() # ❌ still old version
Reason:
greetis a copy of the function, not a reference- Reloading module does not update this copy
To avoid this problem:
👉 Always use import module_name during development.
⭐ Practical Example
import mymodule
import importlib
print("First call:")
mymodule.greet()
# After modifying the file
print("Reloading module...")
importlib.reload(mymodule)
print("Second call:")
mymodule.greet()
⭐ Exam-Ready Short Answer
Module reloading is the process of re-importing a module so that any changes made to the module file during program execution are reflected. Python loads a module only once, so we use importlib.reload(module) to load the updated version. Reloading is useful during testing, debugging, and development.
