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.