Idle is the usual IDE for Python, haven't spent much time in it to recommend it though.
Idle is not very good, the interpreter continues to run, so the environment may be messed from the previous time.
There is also pydev, an Eclipse editor for Python, but IDEs are mostly useless anyway with Python; the language is too dynamic to do code completion.
I use just gvim and a terminal next to it (use emacs or another text-editor of your choice if you hate vim/gvim).
Together with 'focus follows mouse' (imho the only sane way to work with a mouse), it works great.
Edit, save, move mouse to the terminal, cursor up (command-line history gives me "python myfile.py" from the previous run), hit enter, see what the program does (and messages stay displayed in the terminal so you can check them later while editing), move mouse back to editor, edit, save, ...
I have yet to find anything that beats that.
My project: Messing about in FreeRCT
, dev blog
, and IRC #freerct at oftc.net