Spyder is nice but when I used it a couple of years ago it still wasn't as polished as matlab (the language I was coming from). on the other hand pycharm is unbelievable polished and has exactly the only features the made matlab worthwhile: visual debugger with a console. in pycharm you can set a break point open up a console that has access to the current context (it's debug console under tools). out of the box you get tab completion in that console and you actually set ipython to be the interpreter for console and get all its good stuff.
Interesting for me, in as much as I'm a python3 programmer transitioning to R/Shiny...
Python is better for doing the work but R/Shiny is better for showing it to people.