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.
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][,...]
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:
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 ...