I found DrScheme and its cousin DrJava nice for beginners, but I think within the context of Python, IPython Notebook is just so much better because you can wire in some pretty pictures and formatting. Then again, the separation between "code that is meant to stay" and the REPL may be a useful concept that you want to teach beginners.
Another cool DrRacket feature for beginners as well as experienced is its debugging features. Whenever your program interrupts, be it exception or breakpoint, you can visually trace bindings to its source by hovering pointer on symbols which in turns shows a series of arrows.
Embedding images or graphs is very well supported as well as normal text; you can also easily save such sessions to a file too. Such a file does need DrRacket to be viewed, but other than that I'd say it's rather close to IPython Notebook.
Additionally DrRacket has a nice feature for displaying contracts and limited help/docstring for highlighted symbol, a bit of auto-completion (no context sensitivity unfortunately) and a feature for displaying where the identifier comes from with arrows, which is neat sometimes (to be fair it breaks down completely when working with many macros). There are also three killer features: macro stepper, debugger and futures visualizer (which lets you see sync points of your parallel computations to (hopefully) optimize them away).
Personally I switched to Emacs, because I deal with more than one Lisp on a regular basis and because I find DrRacket harder to customize (this may be just me being used to Emacs however). I still use DrRacket when working with graphs in Racket and it's very pleasant.
Anyway, DrRacket is very high quality basic IDE and I wish every language would come with something similar. It has its problems (performance, sometimes), but by the time you hit those you're probably already using something more advanced.