The most basic interactive Python command line, where each line starts with a >>>
.
Standard editor in Python distributions, easy to use but very basic.
A more sophisticated interactive Python command line. It incorporates tab-completion, interactive help and regular shell commands. Also look up the %
-magic commands.
Spyder is part of the Anaconda Python distribution. It is a small IDE mostly for data analysis, similar to RStudio. It automatically highlights Syntax errors, contains a variable explorer, debugging functionality and other useful things.
Interactive environment for the web browser. A Jupyter notebook contains Python code, text, images and any output from your program (including plots!). It is a great tool for exploratory data analysis.
A general-purpose text editor that works on all systems. There are many plugins for Python available. There is a free and a commercial version available.
The Open Source cousin of Sublime2. It is on my wishlist.
PyCharm is probably the most luxurious IDE for Python. It contains tons of functions that are a superset of all the above. PyCharm is a great choice for bigger Python projects.
If you must use a text editor on Windows to edit Python code, refuse to use anything worse than Notepad++.
I have no idea what geany even is, so I suppose it is a tool for MacOS.
I know people who are successfully using Vim to write Python code and are happy with it.
I know people who are successfully using Emacs to write Python code, but haven't asked them how happy they are.