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 ...
Get Python Programming On Win32 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.