On 01/04/06, John Salerno <[EMAIL PROTECTED]> wrote: > I V wrote: > > > > Note that print gets called after _each_ time that printBackward > > returns. So, as the different calls to printBackward return, they print > > whatever 'head' was set to in that invocation. Now, logically enough, > > the last call to printBackward is the first to return, so the last > > value of 'head' is printed first, and so in in the reverse order of the > > list. > > Oh, that helps! Now I'm starting to understand when exactly it returns > each time.
The way I got my head round this was to think of namespaces (I'm not sure how true this is though). I think of the first head variable as being: printBackward.head When it calls printBackward from within the first printBackward, thye second variable is: printBackward.printBackward.head and so on. It helps to keep it clear that they are entirely different. Ed -- http://mail.python.org/mailman/listinfo/python-list