Python is an important programming language to know — it’s widely used in fields like data science, web development, software engineering, game development, automation. But what’s the best way to learn Python? That can be difficult and painful to figure out. I know that from experience.
One of the things that I found most frustrating when I was learning Python was how generic all the learning resources were. I wanted to learn how to make websites using Python, but it seemed like every learning resource wanted me to spend two long, boring, months on Python syntax before I could even think about doing what interested me.
This mismatch made learning Python quite intimidating for me. I put it off for months. I got a couple of lessons into the Codecademy tutorials, then stopped. I looked at Python code, but it was foreign and confusing:
What worked was blending learning the basics with building interesting things. I spent as little time as possible learning the basics, then immediately dove into creating things that interested me. In this blog post, I’ll walk you through step by step how to replicate this process, regardless of why you want to learn Python.
Step 1: Figure Out What Motivates You to Learn Python
Before you start diving into learning Python online, it’s worth asking yourself why you want to learn it. This is because it’s going to be a long and sometimes painful journey. Without enough motivation, you probably won’t make it through.
Figuring out what motivates you will help you figure out an end goal and a path that gets you there without boredom.
Step 2: Learn the Basic Syntax
Unfortunately, this step can’t be skipped. You have to learn the very basics of Python syntax before you dive deeper into your chosen area. You want to spend the minimum amount of time on this, as it isn’t very motivating.
I can’t emphasize enough that you should only spend the minimum amount of time possible on basic syntax. The quicker you can get to work on projects, the faster you will learn. You can always refer back to the syntax when you get stuck later. You should ideally only spend a couple of weeks on this phase, and definitely no more than a month.
Step 3: Make Structured Projects
Once you’ve learned the basic syntax, it’s possible to start making projects on your own. Projects are a great way to learn because they let you apply your knowledge. Unless you apply your knowledge, it will be hard to retain it. Projects will push your capabilities, help you learn new things, and help you build a portfolio to show to potential employers.
Related: How To Become A Data Analyst
However, very freeform projects at this point will be painful — you’ll get stuck a lot, and need to refer to the documentation. Because of this, it’s usually better to make more structured projects until you feel comfortable enough to make projects completely on your own. Many learning resources offer structured projects, and these projects let you build interesting things in the areas you care about while still preventing you from getting stuck.
Step 4: Work on Python Projects on Your Own
Once you’ve completed some structured projects, it’s time to work on projects on your own to continue to learn Python better. You’ll still be consulting resources and learning concepts, but you’ll be working on what you want to work on. Before you dive into working on your own projects, you should feel comfortable debugging errors and problems with your programs. Here are some resources you should be familiar with.
Is Python a good language to learn in 2020?
Yes. Python is a popular and flexible language that’s used professionally in a wide variety of contexts. We teach machine Learning With Python Course
and machine learning, for example, but if you wanted to apply your Python skills in another area, Python is used in finance, web development, software engineering, game development, etc.
Moreover, Python data skills can be really useful even if you have no aspiration to become a full-time data scientist or programming. Having some data analysis skills with Python can be useful for a wide variety of jobs — if you work with spreadsheets, chances are there are things you could be doing faster and better with a little Python.