I had no idea that "_" stores the last printed expression in the interactive interpreter. That little tip, and the wonderful visual description of Python's "names," were worth more than enough to cover the cost of reading the whole article.
Try using ipython [http://ipython.scipy.org] for much more stuff like _ . e.g. using using _n to get the output of the n'th line you typed in the interpreter.
I actually got confused by the "names" illustrations, even though I know Python. And the illustration doesn't really explain what is the observable difference between Python and "other languages".
I suppose the point is that Python doesn't support "pass by referece"-semantics, and that assignment never copies mutable values. However, AFAIK this is exactly the same as at least Java and JavaScript, and probably other languages too (I would guess Ruby and Lisp also, although I'm not sure).
I think the "names" illustration refers to dynamic typing and points out that assignment creates an association between a name and a value. Differs from C where a name represents a fixed size and location in memory.
The article seems to be missing the key example that cements the concept in your mind.
->
seems to be a TODO place holder. I would expect that the example would be: a = some_object; change a member field in some_object; notice that a gets changed also. The example is really needed, because using only constants it's a distinction without a difference.