Python Creating Modules

In Python, a module is a file containing Python code (functions, classes, variables) that can be reused in other programs. Creating custom modules helps you organize your code, make it more maintainable, and avoid repetition. In this tutorial, we’ll walk through how to create, import, and use your own Python modules.

1. What is a Python Module?

A Python module is simply a Python file with a .py extension. It contains Python code such as functions, classes, and variables that you can reuse in other programs by importing the module.

Example of a Module File (my_module.py)

# my_module.py

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

def add(a, b):
    return a + b

Try It Now

In this example, my_module.py contains two functions: greet() and add().

2. How to Create a Custom Module

To create a custom module, follow these steps:

  • Create a new Python file with a .py extension.
  • Write functions, classes, or variables in the file.
  • Save the file with a descriptive name (e.g., my_module.py).

Example: Creating a Custom Module

# my_math.py

def multiply(a, b):
    return a * b

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

Try It Now

3. Importing and Using a Custom Module

Once you’ve created your module, you can import it into another Python script using the import keyword.

Example: Importing a Custom Module

import my_math

result1 = my_math.multiply(3, 4)
result2 = my_math.subtract(10, 5)

print(f"Multiplication: {result1}")
print(f"Subtraction: {result2}")

Try It Now

In this example, we import the my_math module and use its multiply() and subtract() functions.

4. Using from ... import to Import Specific Functions

If you only need specific functions from a module, you can use the from ... import syntax.

Example: Importing Specific Functions

from my_math import multiply

result = multiply(5, 6)
print(f"Multiplication: {result}")

Try It Now

Here, we import only the multiply() function from my_math.

5. Renaming a Module on Import

You can rename a module when importing it using the as keyword. This helps reduce the length of module names or avoid conflicts.

Example: Renaming a Module

import my_math as mm

result = mm.multiply(7, 8)
print(f"Multiplication: {result}")

Try It Now

In this example, we rename my_math to mm when importing it.

6. Storing Modules in a Directory

If you want to organize your modules in a directory, you can create a package. A Python package is a directory that contains a special file named __init__.py.

Example: Package Structure

my_package/
  ├── __init__.py
  └── my_module.py

Try It Now

After organizing your modules in a package, you can import them using import my_package.my_module.

7. Benefits of Creating Custom Modules

  • Code Reusability: Use the same code in multiple projects.
  • Better Organization: Keep related functions and classes together.
  • Maintainability: Easier to update and debug code.

Conclusion

Creating custom Python modules allows you to organize your code and make it reusable. Once you’ve written a module, you can import it into any Python script and use its functions, classes, and variables.