I'm wondering if there's a more beginner-friendly environment to write Python than a terminal shell. Any suggestions?
My recommendations:
I'm using DreamPie as my Python shell. Some useful features of DreamPie: automatic completion of attributes and file names, automatically displays function arguments and documentation, automatically folds long outputs, lets you save the history of the session
as an HTML file, automatically adds parentheses and optionally quotes when you press space after functions. It also divides the window into a code box (where you write the code) and a history box (with all the previous commands and their outputs) - that's a very convenient concept in my opinion.
DreamPie
is a great shell, but shells are only good for small scripts you're going to use once and throw away. The best IDE I'm aware of for writing Python programs/projects is the Pydev plugin within the Eclipse IDE. It features the best auto-completion I've seen for Python, a good debugger, token browser, Django integration, Unittest integration, auto import, easy-to-use refactoring options (renaming, extracting methods, inlining a variable, extracting a variable, etc) and more.