typical Python program is made up of several source files. Each
source file corresponds to a
packages program code and data for reuse. Modules are normally
independent of each other so that other programs can reuse the
specific modules they need. A module explicitly establishes
dependencies upon another module by using
from statements. In some other programming
languages, global variables can provide a hidden conduit for coupling
between modules. In Python, however, global variables are not global
to all modules, but instead such variables are attributes of a single
module object. Thus, Python modules communicate in explicit and
extensions, which are components
written in other languages, such as C, C++, or Java, for use with
Python. Extensions are seen as modules by the Python code that uses
them (called client code). From the client code viewpoint, it does
not matter whether a module is 100% pure Python or an extension. You
can always start by coding a module in Python. Later, if you need
better performance, you can recode some modules in a lower-level
language without changing the client code that uses the modules.
Chapter 24 and Chapter 25 discuss writing extensions in C and Java.
This chapter discusses module creation and loading. It also covers
grouping modules into
packages, which are modules that contain other modules, forming a hierarchical, tree-like structure. Finally, the chapter discusses ...