You have a huge choice when it comes to choosing a text editor for working with Python. IDLE itself comes with a basic built in text editor. If you want more features though you will need to look elsewhere.
There are many text editors available; Sublime Text, TextWrangler and notepad++ to name but a few.
I personally have chosen to use notepad++ as my text editor of choice. Notepad ++ is a free easy to use text editor.
You can download notepad++ at https://notepad-plus-plus.org/download/v7.5.3.html
Unfortunately, it is only compatible with windows. (A possible alternative for Linux is Notepadqq and for Mac is Brackets)
So why did I choose notepad++ ?
Notepad++ is an elegant feature packed text editor yet it is simple to use.
The first difference you will notice between standard notepad and notepad++ is the line numbering.
Line numbering makes it easier for you to find where the errors lie in your code. The interpreter will give you the line number along with the error.
A feature of Notepad++ is tabbed editing. Each file is accessible via a tab on top of the page making it simple to hop between one file and another.
Another great feature is auto completion; start typing a function name and notepad++ will give you a list of function names to choose from.
Notepad++ menu is action packed, its Edit menu for instance boasts a lot of helpful features.
Select the Indent option to either increase of decrease the indention on a highlighted block of text.
Likewise convert a selected block of text to all lowercase, uppercase, sentence case etc.
My personal favorite time saver from the edit menu is Comment/Uncomment. This allows you to comment out or un-comment out a block of text at once.
These features are simple time savers which I find invaluable when I am typing code.
This is not meant to be a comprehensive review of notepad++. Instead I just wished to give a quick outline why I personally choose to use notepad++ for my coding projects.
Feel free to leave a comment and let me no what editor you use and why.