GNU Info

Info Node: (python2.1-tut.info)Odds and Ends

(python2.1-tut.info)Odds and Ends


Prev: Private Variables Up: Classes
Enter node , (file) or (file)node

Odds and Ends
=============

Sometimes it is useful to have a data type similar to the Pascal
"record" or C "struct", bundling together a couple of named data items.
An empty class definition will do nicely, e.g.:

     class Employee:
         pass
     
     john = Employee() # Create an empty employee record
     
     # Fill the fields of the record
     john.name = 'John Doe'
     john.dept = 'computer lab'
     john.salary = 1000

A piece of Python code that expects a particular abstract data type can
often be passed a class that emulates the methods of that data type
instead.  For instance, if you have a function that formats some data
from a file object, you can define a class with methods `read()' and
`readline()' that gets the data from a string buffer instead, and pass
it as an argument.

Instance method objects have attributes, too: `m.im_self' is the object
of which the method is an instance, and `m.im_func' is the function
object corresponding to the method.

Exceptions Can Be Classes

automatically generated by info2www version 1.2.2.9