I use and love Atom. It's really just a highly-customisable text editor, so I can get it to work exactly the way I want. It doesn't have an IDE component by default (though you can add it in), so I have to really think about what I'm coding and why I'm coding it in a particular way.

A lot of folks also like Spyder. It's a little too restrictive for my tastes, but it's definitely got some nice features.

I prefer PyCharm. It is a complete IDE, and has a community edition you can download. comes with VCS capability, code completion, code inspection, packaging assistance, auto conversion to Jupyter Notebook and a ton more.