Trying to understand a very simple class - from the book "dive into python"

Dave Angel davea at
Wed May 20 23:35:53 EDT 2009

walterbyrd wrote:
> Example 5.6. Coding the FileInfo Class
> class FileInfo(UserDict):
>     "store file metadata"
>     def __init__(self, filename=ne):
>         UserDict.__init__(self)        (1)
>         self["name"] =ilename        (2)
> What I do not understand is the last line. I thought 'self' was
> supposed to refer to an instance of the object. But the square
> brackets seem to indicate a list. Except you can not assign values to
> a list like that. So where does "name" come from?
> I am sure this is totally simple, but I missing something.
You're deriving your class from UserDict, which is a "Class that 
simulates a dictionary."  So you can use dictionary semantics on 
"self."  "name" is a key for the dict.

More information about the Python-list mailing list