Chapter 10: Introduction to Modules and Packages
Explore Python�s modular approach to code organization with modules and packages, and learn to import and use standard libraries.
In this chapter, we�ll cover how to structure Python code using modules and packages. Modular code organization makes it easier to manage large programs by separating functionality. We�ll also explore Python�s standard libraries and how to import them.
What is a Module?
A module is a file containing Python definitions and statements, such as functions, variables, and classes. Modules allow you to organize code logically and reuse it across different programs.
# Example of a module (saved as my_module.py)
def greet(name):
return f"Hello, {name}!"
Here, my_module.py
is a module containing a single function, greet()
.
Importing Modules
You can use the import
statement to bring in functionality from other modules. Here�s how to import and use my_module
:
import my_module
print(my_module.greet("Alice"))
In this example, we import my_module
and call its greet
function.
Using from ... import
Syntax
To import specific elements from a module, use the from ... import
syntax. This approach simplifies code by removing the need to prefix imported items with the module name:
from my_module import greet
print(greet("Alice"))
Here, we directly import greet
from my_module
, allowing us to call it without the module prefix.
Exploring the Standard Library
Python includes a vast standard library with modules for various tasks. Here are a few commonly used ones:
math
: Provides mathematical functions.datetime
: Handles dates and times.random
: Generates random numbers.os
: Interacts with the operating system.sys
: Provides access to system-specific parameters and functions.
import math
print(math.sqrt(16)) # Output: 4.0
In this example, we import the math
module and use its sqrt
function to calculate the square root of 16.
Creating and Using Packages
A package is a collection of modules organized into directories. Packages allow for hierarchical code organization. To create a package, create a folder containing an __init__.py
file (which can be empty).
# Directory structure for a package
my_package/
__init__.py
module1.py
module2.py
This structure defines a package named my_package
with two modules, module1
and module2
.
Importing from Packages
To import modules from a package, use dot notation. Here�s an example of importing module1
from my_package
:
from my_package import module1
module1.some_function()
Using dot notation helps keep imports organized and specific to the modules you need.
Summary and Next Steps
In this chapter, we introduced Python�s modular approach to code organization using modules and packages. We also explored the standard library and how to import modules for specific tasks. In the next chapter, we�ll delve into object-oriented programming (OOP), which allows you to structure code using classes and objects.