Other Built-in Types
The interpreter supports several other kinds of objects. Most of these support only one or two operations.
Modules
The only special operation on a module is attribute access:
m
.name, where
m is a module and name
accesses a name defined in m ’s
symbol table. The import statement is not,
strictly speaking, an operation on a module object;
import
foo doesn’t
require a module object named foo to exist, rather
it requires an (external) definition for a module named
foo somewhere.
A special member of every module is __dict__.
This is the dictionary containing the module’s symbol table.
Modifying this dictionary changes the module’s symbol table,
but direct assignment to the __dict__ attribute
isn’t possible (i.e., you can write m.__dict_
_['a']
=
1, which
defines m.a to be 1, but you can’t write
m.__dict__
=
{}.
Modules built into the interpreter are written like this:
<module
'sys'
(built-in)>. If loaded from a file, they are
written as <module
'os'
from
'/usr/local/lib/python1.5/os.pyc'>.
Classes and class instances
See Chapters 3 and 7 of the Python reference manual.
Functions
Function objects are created by function definitions. The only
operation on a function object is to call it:
func(argument-list).
There are really two flavors of function objects, built-in functions and user-defined functions. Both support the same operation (to call the function), but the implementation is different, hence the different object types.
The implementation adds two special read-only ...
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