How I Would Learn Python in 2024 (from Zero)

Author:Murphy  |  View: 26174  |  Time: 2025-03-22 22:46:54

Nowadays, Python is the go-to language for data science. Most cutting-edge machine learning libraries are in Python and you will hardly find a job posting for a data science job without Python as one of the requirements.

However, Python is used in a multitude of other areas within computer science:

  • Web development
  • Game development
  • Backend engineering

So, it is a very useful and versatile language to learn for someone wanting to break into programming, data science, or looking to become a developer.

I have been Coding in Python for over 4 years, and in this article, I want to explain how I would learn Python if I was starting from zero again.

Step 1: Choose Your Course

To start, I would choose an introduction/beginner course that I like the look of or recommendations from another person who I know has good Python skills.

You might have heard me say in one of my previous posts that there is no such thing as the "right" course. While this is definitely true, some courses are generally viewed or rated higher than others, and it is generally a safer bet to go with the popular options.

In reality, any of the top courses will teach you the same things, so don't worry too much about this. Just pick one and get going!

One course I took to learn Python was the W3Schools tutorial. I like how simple it is and provides you with hands-on exercises for each topic. It also doesn't take ages to complete, you can probably do the whole course in a week by studying a couple of hours a night.

Completion didn't mean that I knew everything about Python, but it gave me a view of the lay of the land and I understood the concepts much better.

Python Tutorial

There are other courses which I have heard good things about and also really like:

Learn Python 3 | Codecademy

Python for Everybody

Top-Rated Python Bootcamp: Learn Python. Get Hired. | Zero To Mastery

You can't go wrong with any option listed above. The main point is to pick one and see it through to the end. Don't get too hung up on the "best" option like I said.

The main things you want to learn from these courses are:

  • Variables and Data Types
  • Boolean and Comparison Operators
  • Control Flow and Conditionals
  • For and While Loops
  • Functions
  • Native Data Types (Lists, Dictionaries, Tuples etc.)
  • Classes
  • Packages

This list should cover most of the concepts you should know after covering an intro level to Python course. This list is by no means exhaustive, and the will be other sub-concepts within the topics I listed above.

Step 2: Continual Practice

There is a saying that I like from _Naval Ravikant,_ famous entrepreneur and investor, that goes:

It's not 10,000 hours, it's 10,000 iterations.

The 10,000-hour idea came from _Malcolm Gladwell in his book Outliers._ The message is that it takes 10,000 hours to get "successful" or "master" a certain skill. Obviously, the words "success" and "master" mean different things to different people, but you get the general idea of the premise.

An example in the book was that Bill Gates spent hours coding in his teenage and formative years. This time spent with computer when he was young most likely helped him build the tech giant Microsoft.

However, Ravikant takes this one step further and says that it is specifically 10,000 iterations that leads to mastery. It's not necessarily all about the volume of time, but the number of reps you put in.

I completely agree with his approach. Bill Gates, in my opinion, wouldn't be as successful a programmer if he just read textbooks and didn't try to implement any code himself. By actually "doing" he probably made mistakes, learned how to fix them, and refined his knowledge slowly over time. It is only by deliberate practice and subsequent failure that we truly "master" something.

Now, this is the attitude we need to take to the second step when learning Python, which is all about continuous practice. As we just said, we need consistent repetitions to get truly good at something, so we need to put in consistent effort to get good at Python.

After learning the basics from an intro course, I recommend you implement a routine that helps you code in Python regularly and almost make it a habit.

The ideal would be if you could code and practice every single day. I recognize for some people that might not be feasible (other commitments etc.), but try to code at least twice a week. It doesn't need to be too long, a couple of hours is probably sufficient to allow some real deep work to take place and enough time to digest the material.

In terms of resources, I really liked and used, HackerRank when I started. It's basically a list of small coding problems in an enclosed environment of varying difficulty. They have hints and solutions to help you if you are stuck, so you can quickly iterate and learn.

HackerRank – Online Coding Tests and Technical Interviews

HackerRank is not the only platform like this, the most famous one out there is LeetCode (as most tech professionals have probably seen) and Codeacademy is another popular choice that pops up a lot.

LeetCode – The World's Leading Online Programming Learning Platform

Learn to Code – for Free | Codecademy

Like with the previous step, it doesn't really matter which platform you choose, just select one and start solving problems. You will get the same value from either of the ones listed above.

There is no defined number on how many problems you should solve for this step. I did around ~50 HackerRank problems before I felt I was getting the hang of things, but this number will vary a lot for each person due to numerous factors.

Do enough problems to the point where you feel comfortable coding in Python and really understand its syntax. I am not saying you should be able to answer every problem perfectly, but at least know how to approach them and make a reasonable attempt at solving them. In my opinion, you will know internally when you are getting the hang of Python.

Step 3: Projects, Projects, Projects

Now that you have the basics down and understand how Python works, it's time to build something on your own!

Projects are the holy grail when it comes to learning anything in programming. They will allow you to blend and use concepts together, debug errors, and solidify your overall understanding of Python.

The list of possible projects is unlimited, but I think it is best to choose something that aligns with the career you want to get into. For example, if you want to be a data scientist do some Machine Learning or data analysis projects. I have a previous blog that has some suggestions on "quality" projects you can build as a data scientist to add to your portfolio.

6 Mistakes Beginner Data Science Students Make

If you want to be a web developer, then build some websites. You can do this in Python using the Django framework. I recommend this tutorial by RealPython if you want to get some hands-on experience using Django by building your own portfolio!

Get Started With Django: Build a Portfolio App – Real Python

RealPython also has a great blog post about some intermediate-level projects to try if you want to be a backend Python developer.

13 Project Ideas for Intermediate Python Developers – Real Python

There are endless possibilities out there, but if you know what field you want to break into then that really helps you align on the projects that you should do.

If you are unsure of which domain you want to use Python in, I have linked a great blog below that explains some of the careers you can get into. Try and find what you like the look of and do a few projects in that space. You can always change the field later if it is not your cup of tea!

Careers You Can Have if You Learn Python

Like the previous two steps, my main advice is to just start. Choose a project and go all in. The project itself is not the most important part, but it is rather the learning benefit you will get from carrying it out.

Summary & Further Thoughts

Python is undoubtedly one of the most popular languages, and it opens up so many different career paths that it is definitely worth learning. In this article, we have explained a step-by-step process you can follow when learning Python from scratch.

  • Step 1: Choose an intro-level course
  • Step 2: Continual practice on platforms such as Hacker Rank or LeetCode
  • Step 3: Do a project in the field you want to break into

Now, I am not saying these steps will make you land your dream job instantly, but they will teach you Python fast and allow you to quickly iterate on your learnings.

Like with everything, it will require hard work and sometimes you may find yourself banging your head against the wall, but it will be worth it in the end!

Another Thing!

I have a free newsletter, Dishing the Data, where I share weekly tips for becoming a better Data Scientist. There is no "fluff" or "clickbait," just pure actionable insights from a practicing Data Scientist.

Dishing The Data | Egor Howell | Substack

Connect With Me!

Tags: Coding Data Science Machine Learning Programming Python

Comment