Modules and Packages

1. Introduction

Python modules and packages allow you to organize code into reusable components, making it easier to manage large projects.

  • A module is a single Python file containing functions, classes, or variables.
  • A package is a collection of modules organized in directories with an __init__.py file.

2. Modules in Python

A module is just a .py file that contains Python code (functions, variables, classes, etc.).

Creating and Importing a Module

1.  Create a file math_operations.py with the following code:

# math_operations.py
def add(a, b):
    return a + b

def subtract(a, b):
    return a - b

2. Now, import and use the module in another Python file:

import math_operations

result = math_operations.add(5, 3)
print("Addition:", result)

The math_operations module is imported and used.


3. Importing Specific Functions

Instead of importing the entire module, you can import specific functions.

from math_operations import add

print("Sum:", add(4, 6))

Only the add function is imported.


4. Using Aliases for Modules

You can rename modules using as.

import math_operations as mo

print("Subtraction:", mo.subtract(10, 4))

5. Built-in Modules in Python

Python includes many built-in modules.

Examples:

import math
import random

print(math.sqrt(16))  # 4.0
print(random.randint(1, 10))  # Random number between 1 and 10

The math and random modules provide ready-to-use functions.


6. Packages in Python

A package is a directory containing multiple modules, along with an __init__.py file.

Creating a Package Structure

my_package/
│── __init__.py
│── module1.py
│── module2.py

1.  Create module1.py inside my_package:

def greet(name):
    return f"Hello, {name}!"

2. Import and Use the Package:

from my_package import module1

print(module1.greet("Ankit"))

The function from module1.py is used.


7. Installing and Using External Packages

You can install third-party packages using pip.

Example: Installing NumPy

pip install numpy

Using an Installed Package

import numpy as np

arr = np.array([1, 2, 3, 4])
print(arr)

numpy is installed and used.


8. Summary

A module is a Python file containing code.
A package is a collection of modules inside a directory with an __init__.py file.
Use import to bring modules into your program.
Use pip to install third-party packages.