Module Objects
A module is a Python object with arbitrarily named attributes that you can bind and reference. The Python code for a module named aname
normally resides in a file named aname.py, as covered in Module Loading.
In Python, modules are objects (values) and are handled like other objects. Thus, you can pass a module as an argument in a call to a function. Similarly, a function can return a module as the result of a call. A module, just like any other object, can be bound to a variable, an item in a container, or an attribute of an object. For example, the sys.modules
dictionary, covered in Module Loading, holds module objects as its values. The fact that modules are ordinary objects in Python is often expressed by saying that modules are first-class objects.
The import Statement
You can use any Python source file as a module by executing an import
statement in some other Python source file. import
has the following syntax:
import modname [as varname][,...]
The import
keyword is followed by one or more module specifiers, separated by commas. In the simplest, most common case, a module specifier is just modname
, an identifier—a variable that Python binds to the module object when the import
statement finishes. In this case, Python looks for the module of the same name to satisfy the import
request. For example:
import MyModule
looks for the module named MyModule
and binds the variable named MyModule
in the current scope to the module object. modname
can also be a sequence of identifiers ...
Get Python in a Nutshell, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.