A recent comp.lang.python thread has a good explanation of Python's assignment semantics: http://groups.google.com/group/comp.lang.python/browse_thread/thread/56e7d62bf66a435c/ Kent