2.6 Modules and packages
Now we know how to create classes and instantiate objects. You don’t need to write too many classes (or non-object-oriented code, for that matter) before you start to lose track of them. For small programs, we generally put all our classes into one file and add a little script at the end of the file to start them interacting. However, as our projects grow, it can become difficult to find the one class that needs to be edited among the many classes we’ve defined. This is where modules come in. Modules are Python files, nothing more. The single file in our small program is a module. Two Python files are two modules. If we have two files in the same folder, we can load a class from one module for use in the other module.
The Python module name is the file path’s stem; the name without the .py suffix. A file with the name model.py is a module named model. Module files are found by searching paths that includes the local directory...