To program Python, most any text editor will do. A text editor is a program that saves your files without formatting. Wordprocessors such as MS-Word or OpenOffice.org Writer include formatting information when they save a file -- that is how the program knows to bold certain text and italicize others. Similarly, graphic HTML editors do not save emboldened text as bold text but as text with a bold attribute tag. These tags are meant for visualisation, not for computation. Therefore, when the computer reads the text and tries to execute it, it gives up, crashing, as if to say, "How do you expect me to read that?" If you do not understand why it might do this, you may want to revisit how a computer reads a program.
The main point of difference between a text editor and other applications that allow you to edit text is that a text editor does not save formatting. So, it is possible to find a text editor with thousands of features, just like a wordprocessor. The defining characteristic is that it saves the text as simple, plain text.