Now there’s an evergreen topic. This post will probably be updated periodically. Yes, there’s lots of room for disagreement, but we have to start somewhere – suggestions are welcome. We probably can agree that as one of my favorite cliches goes, you don’t have to be great to start, but you have to start to be great!
First off, know that there’s Python 2 and Python 3. For learning, I don’t know of any good reason to start with anything but Python 3 – by now most current courses teach it anyway, and 2 will reach “end of life” at the beginning of 2020. There’s a lot of older media for Python 2 though – pay attention to what you’re getting.
I like Zed Shaw’s “Learn Python the Hard Way” book. He’s very opinionated and has his detractors, but if you do it his way you’ll start building Python into your head and fingers. He covers Windows, Macs and Linux. He’ll have you installing Python if you don’t already have it, so be prepared to do that. He’ll also have you doing your work with a simple text editor and the command line, which everybody has access to. He also has a lot of videos for this and his other Learn Code the Hard Way projects.
You might also like “Automate the Boring Stuff With Python“. The author suggests that you use the IDLE editor that usually comes with Python installations. It’s also available as an online course on Udemy. Incidentally, about any course on Udemy will go on sale from time to time.
Another approach is Dr. Chuck’s “Python for Everybody” via Coursera. Last I looked the book and course were available gratis. He’ll have you doing some cool things before it’s over. As I recall the early parts won’t require you to have a Python installation, but to finish the specialization you’ll need it.
You can’t install Python on your machine? There are options like Python Anywhere. Or you can use the likes of Datacamp or Dataquest to get started with learning syntax, but at some point you’ll want access to a full installation to understand how to use Python in real applications.
Maybe it’s not for you, but for your kids. OK, there are a number of books about Python for kids, and places to turn them into code ninjas.
But get started, and do the work (unless you think greats like Michael Jordan got their skills from reading books and blogs). Do not cut and paste – type the code, make and fix the inevitable mistakes, keep trying. If you don’t like doing that maybe data science isn’t for you. It takes time for some things to internalize to the point where you’re productive enough to get things done.
Learn how to find help on Google, StackOverflow or elsewhere. Get used to it – the world doesn’t have time to babysit you. In the early learning stages at least, about everyone has made the same mistakes you’re making, and chances are that somebody has already documented the answer for you, so go looking for the answers and build research skills.
Enough for now. Time to get started!