Introduction: Why Do We Need Modules and Packages in Python?
When you start learning Python, you usually write all your code in one file.
This works for small programs, but as programs grow bigger, this approach becomes messy and confusing.
Imagine writing everything in one notebook:
Calculations
User input
File handling
Data processing
Soon, it becomes hard to:
Find your code
Fix errors
Reuse logic
Work in teams
👉 Python modules and packages solve this problem by helping you organize code neatly, just like files and folders on your computer.
What Is a Python Module? (Simple Definition)
Definition
A Python module is simply a Python file that contains:
Functions
Variables
Classes
You can reuse this file in another Python program.
In Simple Words
👉 A module is one Python file that does one type of work.
Real-Life Analogy: Toolbox 🔧
Think of a module as a toolbox
Each tool (function) inside the box does a specific job
You take only the tools you need
Example: Creating and Using a Module (Step-by-Step)
Step 1: Create a Module
Create a file named math_utils.py
def add(a, b):
return a + b
def subtract(a, b):
return a - b
This file is a module
The module name is math_utils
Step 2: Use the Module in Another File
Create another file main.py
import math_utils
print(math_utils.add(10, 5))
print(math_utils.subtract(10, 5))Explanation
import math_utilsloads the modulemath_utils.add()calls the function inside the module
👉 Output:
15
5What Are Built-in Modules?
Python already provides many ready-made modules, such as:
mathrandomdatetimeos
Example: Using a Built-in Module
import math
print(math.sqrt(16))Explanation
mathis a built-in modulesqrt()is a function inside it
👉 Output:
4.0Common Import Keywords Explained Simply
import
import math print(math.pi) - Imports the whole module
- Access using
module_name.function
from
from math import pi print(pi) - Imports only what you need
- No need to write
math.pi
as (Alias)
import math as m print(m.sqrt(25)) - Gives a short name to the module
- Makes code cleaner
What Is a Python Package?
Definition
A Python package is a folder that contains:
Multiple Python modules
A special file called
__init__.py
In Simple Words
👉 A package is a folder that organizes related modules.
Real-Life Analogy: Library
Package → Library building
Modules → Books inside the library
Functions → Chapters inside a book
Everything is organized and easy to find.
Example: Creating and Using a Package
Step 1: Folder Structure
calculator/
│
├── __init__.py
├── add.py
└── multiply.py
Step 2: Code Inside Modules
add.py
def add(a, b): return a + b multiply.py
def multiply(a, b): return a * bStep 3: Use the Package
from calculator import add, multiply
print(add.add(5, 3))
print(multiply.multiply(5, 3))
Explanation
calculatoris the packageaddandmultiplyare modules inside itFunctions are accessed using module names
Common Beginner Mistakes
- Forgetting
.pyextension when creating modules - Wrong file or folder structure
- Naming a file same as built-in modules (e.g.,
math.py) - Not understanding where Python looks for modules
- Importing everything using
*unnecessarily