Beginner's Python Resources

When you’re first learning a new programming language, the amount of information available can be daunting, or even overwhelming. This list will serve as a living document showing different Python resources I’ve found helpful while learning this new language.

The very first resource I have to mention is “Learn Python the Hard Way” by Zed Shaw. This is a free ebook. It’s a fantastic place for beginners, whether coming from another programming language or coming from zero programming languages! The pace is slow and steady and requires a lot of hands-on time actually working in the language. The very first chapter, “Exercise 0”, is a thorough introduction to setting up your computer (whether Mac or Windows) for Python.

The second resource I’ll recommend is a collection of sites that offer “toy problems”. These are the stand-alone, discreet, algorithm exercises that can be done in an hour or less, maybe over morning coffee. The two I like (so far, this may change) are:

  • HackerRank - which provides a small tutorial with each new problem, which introduces something new in Python

  • CodeWars - which is fun because you can add yourself to a group and see how you’re progressing compared to the others in the group

The third resource is something I stumbled on recently, “46 Simple Python Exercises”. It’s a simple HTML page with a list of prompts which make terrific Python exercises. There are no bells or whistles on this site, it’s just straight text and he leaves it up to the user to figure everything out.

The fourth resource is one I’ve used in the past when learning JavaScript. It’s Exercism.io. These exercises require installing a command line tool to fetch and submit exercises so it’s minimally invasive, but the up-side is that these exercises come already equipped with tests. This promotes the design practice called Test Driven Development (TDD). The exercises ramp up pretty quickly from one-function solutions to classes with multiple functions. So it’s good to maybe look at the next resource…

CodeCademy which offers a step-by-step introduction to many different programming languages, but also offers a few chapters on Intermediate Python classes and inheritance to start thinking about Object Oriented Programming (OOP) design patterns in Python.

Published: January 31 2017