Python Learning Path

Sept. 14, 2019

In this article, I present a beginner's learning path for Python. This path should take 3 months to complete.

tutorial python


Python is my favorite programming language. That being said, it is also a little easy to get lost when learning Python for the first time.

By the end of this article, you will have an idea how to chart out your journey in learning Python. I will provide links to great resources, courses and blog articles which teach the concepts, giving you a clearer path.

Getting Started

Al Sweigart's book Automate the Boring Stuff

I recommend going through this book, and at least reaching chapter 10. Drudge through the examples, Al covers almost everything and he teaches valid, usable coding scenarios that you will need when learning.

I recommend the first 10 chapters because he covers the basics of Python, and in these chapters you will learn enough to get productive.

Write code.

A lot of people don't realize how powerful they can become instantly after learning a language like Python. They get stuck in tutorial hell, and they do not try to write things that they can use from the get-go.

Here are some ideas:

  1. Write a script to create 10 folders named folder_001 through folder_010. Within each of these folders, make another 100 folders called inner_001 through inner_010. Note the leading zeroes, and the case. As you do this, inside every index folder whose number is divisible by 7, create a file named bond.txt with the word "james" printed as many times as the number on the folder. For inner_007/bond.txt, the file will contain 7 of these. And inner_049/bond.txt will contain 49 instances of the word.
  2. tree is a great linux command line tool. You might have used it before. It prints out the folder structure of a given directory. Write a rudimentary version of it using Python.

RealPython : Virtual Environments A Primer

Go through this article on Real Python to understand how to create a virtual environment. This teaches you how to develop applications in Python in isolation.

Note that you might not understand why you need this right now, but trust me.

ZetCode: Learn PyQt5

PyQt5 is a great framework for getting started in GUI programming. I recommend learning GUI development in Python because you will immediately learn how to make usable applications without being bothered about topics that you do not need to get into right now.

Note that since the time of writing of the original PyQt5 article, the Qt Foundation released Qt for Python. This is the recommended module to use.