1.2 The Python Standard Library and Extension Modules
There
is more to Python programming than just the Python language: the
standard Python library and other extension modules are almost as
important for effective Python use as the language itself. The Python
standard library supplies many well-designed, solid, 100% pure Python
modules for convenient reuse. It includes modules for such tasks as
data representation, string and text processing, interacting with the
operating system and filesystem, and web programming. Because these
modules are written in Python, they work on all platforms supported
by Python.
Extension modules, from the standard library or from elsewhere, let
Python applications access functionality supplied by the underlying
operating system or other software components, such as graphical user
interfaces (GUIs), databases, and networks. Extensions afford maximal
speed in computationally intensive tasks, such as XML parsing and
numeric array computations. Extension modules that are not coded in
Python, however, do not necessarily enjoy the same cross-platform
portability as pure Python
code.
You can write
special-purpose extension modules in lower-level languages to achieve
maximum performance for small, computationally intensive parts that
you originally prototyped in Python. You can also use tools such as
SWIG to make existing C/C++ libraries into Python extension modules,
as we'll see in Chapter 24.
Finally, you can embed Python in applications coded in other
languages, exposing existing application functionality to Python
scripts via dedicated Python extension modules.
This book documents many modules, both from the standard library and
from other sources, in areas such as client- and server-side network
programming, GUIs, numerical array processing, databases,
manipulation of text and binary files, and interaction with the
operating system.
|