A Python module is a file containing Python code. It can define functions, classes, and variables, and it can include runnable code. Modules help organize Python code into manageable and reusable pieces.
1. Creating a Python Module
To create a Python module, you simply create a new Python file with a .py
extension. This file will contain the functions, classes, or variables you want to include in your module.
# mymodule.py
def greet(name):
"""Return a greeting message."""
return f"Hello, {name}!"
class Person:
def __init__(self, name):
self.name = name
def introduce(self):
return f"My name is {self.name}."
# Example of code that will be executed when the module is run directly
if __name__ == "__main__":
print(greet("World"))
person = Person("Alice")
print(person.introduce())
2. Importing and Using a Python Module
Once you’ve created a module, you can import it into other Python scripts or modules. Use the import
statement to include the module and access its functionality:
# main.py
import mymodule
# Using a function from the module
message = mymodule.greet("Bob")
print(message)
# Using a class from the module
person = mymodule.Person("Charlie")
print(person.introduce())
3. Using Module Aliases
You can create an alias for a module using the as
keyword. This can be useful for shortening long module names or avoiding naming conflicts:
# main.py
import mymodule as mm
print(mm.greet("Dave"))
person = mm.Person("Eve")
print(person.introduce())
4. Importing Specific Elements
If you only need specific functions or classes from a module, you can import them directly:
# main.py
from mymodule import greet, Person
print(greet("Frank"))
person = Person("Grace")
print(person.introduce())
5. Creating Packages
A package is a collection of Python modules organized in a directory hierarchy. To create a package, create a directory and place an __init__.py
file inside it. This file can be empty or contain package initialization code:
# mypackage/__init__.py
# Initialization code for the package (optional)
# mypackage/mymodule.py
def greet(name):
return f"Hello, {name}!"
6. Importing from a Package
To use a module from a package, import it using dot notation:
# main.py
from mypackage import mymodule
print(mymodule.greet("Hannah"))
7. Conclusion
Writing and using Python modules helps organize and manage your code efficiently. By breaking your code into modules and packages, you can create reusable components, improve code readability, and maintainability.