On reddit, I've seen a link to web site, which does not only interpret Python code, but also gives a graphical explanation of how the code is interpreted. I found this potentially very helpful for learning and teaching. Sadly, I don't remember the link.
Given code such as
A = []
B = A
B.append(1)
print A
print B
this website would show, how each line changes the state of the Python program. A user could see that A and B represent the same object and intuitively understand that the third line effects print A and print B