I second this recommendation. Its an awesome demo. I used ipython from before, but barely scratched the surface.
Now I use IPython to finish up assignments where the code documents itself, and with extra tex/images to fill in where required.
I even 'cheat' sometimes on Project Euler by running problems in parallel using ipython. ;)