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.
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.