Chapter 7. Modules
A
typical Python program is made up of several source files. Each
source file corresponds to a module, which
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 import
or 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
maintainable ways.
Python also
supports 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 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access