Updated: Mar 29
When you are a freelancer, coming up with a balanced schedule is a challenge. What works for me is keeping to a schedule that allows me to squeeze all of my to-do's in the week. I'm adding python exercises to my weekly work routine in order to pick up new skills and keep in good practice of skills I've already learned. Here are some great resources if you are in the same situation.
Code Challenge This is an amazing app that has a python environment where you can debug or write code for a bevy of problems presented in app. You select your skill level and can work through python problems, allowing you to progress in your coding abilities. The goal is to get in the habit of coding daily.
Practice Python I love this site. Programmer extraordinaire, Michele Pratusevich, created these python practice exercises when she was teaching to give newbies "small, self-contained exercises suited for beginners."
Derrick Sherrill It's hard to be a newbie python programmer and not come across Derrick Sherrill. His videos are so well-thought and he explains concepts so clearly.
Python.org Here you will find links to many python resources. You just have to wade through them.
Dr. Anita Graser Dr. Graser is a scientist at the Austrian Institute of Technology (AIT), QGIS Project Steering Committee member and founder of MovingPandas. She often posts about QGIS resources. On her blog she offers a free self-guided course on Introduction to PyGIS: Python Programming for Non-programmers. This is a great resource for using python to navigate data within QGIS.
Dr. Charles Severance (Dr. Chuck) Dr. Chuck offers many classes through the University of Michigan on Coursera. The ones that I completed are: Python Data Structures and Programming for Everybody. His classes are very easy to follow and a great entry point for those looking to start.
So now that you have a few good resources to start your Python journey, what IDE will you use? Seth Baker and Jason Baker over at opensource.com assembled a great compendium of resources to take the guesswork out. I use PyCharm and the Spyder bundle with Anaconda & Jupyter.