What is a module
A module is a Python file. When you import it, Python runs the file once and exposes its top-level names through a namespace you can refer to by the module's name.
This is the basic mechanism for splitting code across files. Define utility functions in math_utils.py, write import math_utils from another file, and call math_utils.add(2, 3). The names from the imported file are reachable through the module name without polluting the caller's namespace.
A folder containing an __init__.py file is a package, which is a module that contains other modules. The mechanics are the same; packages just give you a tree.