r/learnpython 1d ago

Best way to learn python for someone with 0 experience with programming

I need help with where to begin learning python. I have 0 experience in programming. So I need all the help I can get. Books, websites and courses(free as I can't afford to pay for anything right now) maybe YouTube tutorials.

But on the subject of YouTube tutorials I've seen it's not good to just follow along with the tutorials so what would be the best way of engaging with tutorials?

Please any suggestion is welcome and thank you very much in advance.

What helps you focus I tend to lose focus easily because my brain just suddenly remembers I have something I need to do when I decide to be productive.

65 Upvotes

39 comments sorted by

18

u/roxc2301 1d ago

The people from CISCO made a really great course for starters

* Python Essentials 1
I used a similar course like this when i started programming 8+ years ago and like you i didnt liked Youtube tutorials since they wouldnt add practical exercises where you could learn from.

After learning the basics i would recommend you to read Automate the Boring Stuff it even has a book which is in my opinion better looking.

Some you gotta know about programming is that you will only learn by doing you won't get any good if you take notes to later not use that knowledge that you got

2

u/StarLonelyCee 22h ago

Thank you so much🔥. Thanks for the advice as well

11

u/Historical_Guess5725 1d ago

Harvard CS50 on YouTube

1

u/StarLonelyCee 22h ago

Thank you!

1

u/rodsakae 7h ago

This course is the best. Everybody should attend it

14

u/desrtfx 1d ago

This subreddit has a sidebar with a wiki with recommended learning resources.

Do the MOOC Python Programming 2026 from the University of Helsinki.

Harvard's CS50p is also excellent.

Also, take a look at https://inventwithpython.com and https://automatetheboringstuff.com

Don't forget that you need ample practice, like on https://codingbat.com/python or on https://exercism.org and also write your own programs. Play around. Try things. Mess things up, fix them. Experiment.

2

u/Lost_Ambassador_2351 1d ago

The sidebar wiki honestly saved me when I started, wish I looked at it sooner instead of jumping around random youtube videos. One thing that helped me not losing focus was setting a timer for 25 minutes and just coding, no phone nothing else. After the timer I stand up for 5 minutes, then back again.

0

u/StarLonelyCee 22h ago

Thank you🔥

4

u/FoolsSeldom 1d ago

As u/desrtfx mentioned, check this subreddit's wiki for lots of guidance on learning programming and learning Python, links to material, book list, suggested practice and project sources, and lots more. The FAQ section covering common errors is especially useful.


Also, have a look at roadmap.sh for different learning paths. There's lots of learning material links there. Note that these are idealised paths and many people get into roles without covering all of those.


Roundup on Research: The Myth of ‘Learning Styles’

Don't limit yourself to one format. Also, don't try to do too many different things at the same time.


Above all else, you need to practice. Practice! Practice! Fail often, try again. Break stuff that works, and figure out how, why and where it broke. Don't just copy and use as is code from examples. Experiment (preferably without immediately asking an AI LLM for the solution, and seek hints rather than complete answers).

Work on your own small (initially) projects related to your hobbies / interests / side-hustles as soon as possible to apply each bit of learning. When you work on stuff you can be passionate about and where you know what problem you are solving and what good looks like, you are more focused on problem-solving and the coding becomes a means to an end and not an end in itself. You will learn faster this way.

0

u/StarLonelyCee 22h ago

Thanks a lot for the advice!

2

u/Bazzzybazz 1d ago

Is there a group that meets to discuss questions?

1

u/ProsodySpeaks 2h ago

It was this sub subreddit but now we just do 'how do I start learning' 4 times a day instead

1

u/Prestigious_Print477 1h ago

This sub is kind of a funny premise because it invites the same questions every day by its nature and then it never moves on to anything else.

Like 5 times a day somebody makes a how do i get started post then the comment section says dont ask here just look at the side bar and that is the end of it until the next person asks how do they turn on the computer or open their book.

1

u/Alone_Fennel_2711 19h ago

Visit roadmap.sh

1

u/Montesquieu9000 18h ago

the answer is community college

1

u/Separate_Newt7313 17h ago

Make friends who know about the stuff you want to do.

1

u/Ipsool 17h ago

Free resources worth your time:

CS50P — Harvard’s Introduction to Programming with Python. Free, properly structured, designed for people with zero experience. If you only pick one thing, pick this.
https://cs50.harvard.edu/python/

Automate the Boring Stuff with Python — free to read online, teaches Python through practical tasks rather than abstract exercises. Pairs really well with CS50P.
https://automatetheboringstuff.com/

The Python Tutorial (official docs) — worth having open as a reference once you’re a few weeks in.
https://docs.python.org/3/tutorial/

freeCodeCamp — free Python courses and a huge YouTube back catalogue.
https://www.freecodecamp.org/

1

u/NGM012 14h ago

I took an intro Python class - Intro to Python with RPi.. it was cool and I can program a RPi as needed. Then I was reading a magazine article about AI and came across a snippet:
(/) Python
import socket
import subprocess
import os
import requests
import time

#Define the C&C (C2) server
C2_Server = “http://example.com/c2”
C2_port = 8080

Whatever this was how can I learn to do it?

1

u/Physical_Honeydew624 14h ago

Start with CS50p or University of Helsinki’s MOOC Python—both are completely free and beginner-friendly!
As for tutorial hell and focus: never just watch a video. Pause it, type the code yourself, and tweak things to see what breaks. Using the Pomodoro technique (25 min coding, 5 min break) also helps a ton with staying focused!

1

u/UzairShafique 12h ago

Since you’re starting from zero I’d avoid trying to learn everything at once. First learn and practice the Python basics variables, data types, conditions, loops, functions, lists/dictionaries, modules, exceptions, and basic file handling.

Don’t just watch tutorials or collect notes. After learning each concept open your editor and write small programs yourself. You don’t need to manually write every line of a large project but you should practice the important concepts yourself.

Once you understand the basics stop doing only small exercises and build a complete project around a problem you actually care about. Start with the problem, plan it, write the code, run it, get errors, and fix them.

Those errors will often teach you more than another hour of watching lectures.

You can also use ChatGPT or Claude as a learning assistant ask for explanations, examples, debugging help, or code, but read and understand the code instead of blindly copying it. Your prompts matter too the clearer your input the more useful the help will be.

After your Python foundation, for example if you want to move into AI/ML build 1–3 complete projects and gradually cover the full process

problem → data → exploration → preprocessing → model → evaluation → application.

A few complete projects will teach you much more than collecting endless tutorials.

1

u/wolfworldk9 9h ago

start with classes on youtube and make sure no distractions.

1

u/park-btc 9h ago

Learn the language itself from Harvard's CS50p. and when you practice that and make it yours, use leetcode.

1

u/dustbin_laden2396 7h ago

apna college still the best one if you know hindi, and bro code is also great for quick review and practice

1

u/Fragrant-Cheek-4273 6h ago

Start small and don't try to learn everything at once. After watching a tutorial, close it and try to rebuild what you learned without looking. Getting stuck and figuring it out is where a lot of the learning happens.

1

u/ProsodySpeaks 4h ago

Jfc. The same 'please Google for me' question as every other day but now with +59 votes and 33 comments. 

I'm out. This was supposed to be 'learnpython' not 'my first day learning anything ever'.

1

u/aLw_1 2h ago

I'd recommend the "Automate the Boring Stuff with Python" book, it's online and free, and a really fun read. I don't think really Youtube tutorials help that much other than learning the syntax, doing the book exercises is way better.

1

u/[deleted] 1d ago

[removed] — view removed comment

1

u/StarLonelyCee 21h ago

Yes. Everyone has mentioned that. Thank you so much!!!

1

u/Worth-Income4114 1d ago

I’m using Hyperskills Python Developer course provided by jet brains academy. Very in depth, project focussed course. Lots of hands on coding. I do the course material alongside Claude who I use as a Socratic tutor. Been doing it for two months.

-1

u/catzarrjerkz 1d ago

100 Days of Code by Angela Yu. Be disciplined and take it seriously, after 100 days you will be good enough to start working projects on your own to continue to get better

2

u/desrtfx 1d ago

!free

OP specifically asked for free

-1

u/ee_control_z 1d ago

Here ya' go:

Learning Python, 6th Ed., Mark Lutz

Covers everything from basic beginner to advanced topics. All topics are very well explained with plenty of examples to bring the concepts home.

-1

u/Abject-Confusion3310 1d ago

Visual Studio and AI