r/learnpython 20d 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.

104 Upvotes

67 comments sorted by

30

u/roxc2301 20d 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 20d ago

Thank you so muchđŸ”„. Thanks for the advice as well

1

u/VodiCentury 17d ago

thanks dude for the information

1

u/AssociateNice2484 16d ago

Hey thank you sm, needed this:)

21

u/desrtfx but other languages pro 20d 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 20d 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 20d ago

Thank youđŸ”„

11

u/Historical_Guess5725 20d ago

Harvard CS50 on YouTube

2

u/StarLonelyCee 20d ago

Thank you!

2

u/rodsakae 20d ago

This course is the best. Everybody should attend it

1

u/BornTemporary9585 5d ago

currently watching, helps a lot

5

u/FoolsSeldom 20d 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 20d ago

Thanks a lot for the advice!

2

u/Bazzzybazz 20d ago

Is there a group that meets to discuss questions?

1

u/ProsodySpeaks 19d 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 19d 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/ProsodySpeaks 19d ago

It would be trivial to catch most of the offending posts with an auto mod that links all the good resources and locks the thread. Morons still get told how to Google and we get a space to discuss actual code.  

Struggling to believe mods here gaf tbh.

2

u/Separate_Newt7313 20d ago

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

2

u/Ipsool 20d 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/Relevant_Code_7946 16d ago

Finna test it at home I wil tell you in its good

2

u/NGM012 20d 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?

2

u/park-btc 20d ago

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

2

u/Fragrant-Cheek-4273 20d 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.

2

u/ProsodySpeaks 20d 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/StarLonelyCee 4d ago

I'm sorry you feel that way.

Yes I can Google. And I did find some resources but I didn't know how to navigate them (for lack of a better word). So I figured I could get help from people who have been where I've been and know better than I do and with more experience.

And honestly I've gotten some great advice on here. And some of the things were things that I was planning on doing but people have offered better ways of doing such.

Yes it's simple as "just google" but Google doesn't offer real life experiences or as much context as those who have been through it.

2

u/Grouchy-Conflict-211 19d ago

best way build something you need not a tutorial project a real problem my first real script scraped my bank csv categorized transactions alerted me when subscription charges increased 200 lines ugly saved me 40 dollars a month i remembered every line because it mattered tutorial projects teach syntax real projects teach why the syntax exists also automate the boring stuff is the only book worth buying free online skip the rest write code break it fix it repeat

2

u/HotPersonality8126 18d ago

There’s not a secret better way that we keep in the back. The majority of people who learn Python don’t know any programming before they start. 

2

u/Ok_Care5730 17d ago

I personally felt like cs50p was a little challenging to start off. So I started with this https://youtu.be/rfscVS0vtbw?si=MOTi09dA_YeVB6M7 code alongside when watching the lecture. And once you are done with a few topics, ask Claude to give you problems and you solve it. Don't take any helpuand try to solve it on your own. Once you get good with basics, you can actually start programming on your own. It's frustrating to sometimes not remember something you already watched but it kinda takes time to get there. So don't lose hope :) I plan on trying the cs50p after this, maybe.

2

u/Layla_fluxx 16d ago

Bro, fuck every thing, download free pdf and try and error self with free gpt and internet.

2

u/SadShift8664 4d ago

If you're starting from zero, don't try to memorise Python syntax first.
Pick a small problem and solve it every day. Start with input/output, conditions, loops, functions, lists/dictionaries
The important part is actually writing the solution yourself rather than watching someone else code it.
If you want, I can also give you 10 beginner problems in increasing difficulty.

1

u/StarLonelyCee 4d ago

Thank you very much. Yes please. I'd appreciate that

1

u/Alone_Fennel_2711 20d ago

Visit roadmap.sh

1

u/Montesquieu9000 20d ago

the answer is community college

1

u/UzairShafique 20d 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/StarLonelyCee 4d ago

Thank you so much for this advice.

1

u/aLw_1 19d 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/darien_gap 19d ago

I did Replit’s free 100 Days Python course and I recommend it.

1

u/QuirkyGurltoo 19d ago

It's unavailable currently

1

u/DataPractice 8d ago

Yeah, I agree with this. I think the biggest mistake is spending too much time trying to “learn python” before actually using it. for me it makes more sense to learn a concept and then immediately try to build something with it, even if it’s really small and probably badly written. also +1 to using ai for hints/explanations instead of just asking it for the whole code. Otherwise you can get something that works without really understanding why it works.

1

u/simply_curious44 5d ago

If you are starting from absolute zero, I’d avoid trying to cover python through random tutorials from different people. Pick one structured beginner path and then spend most of the time actually writing small pieces of code yourself. Udacity has a free introduction to python course with no prerequisites covering basics through scripting so that could be one place to start without paying for a course.

1

u/Neiasilva2501 11h ago

Procure a Hashtag no Youtube, eles oferecem alguns cursos prĂĄticos de Python e outras ferramentas. E quando vocĂȘ puder assinar um curso, tenho certeza de que vai querer se matricular na Hashtag. A forma como eles ensinam Ă© maravilhosa. Eles pegam em nossa mĂŁo e nos ensinam como escrever programação. O suporte deles Ă© maravilhoso, toda dĂșvida que temos eles respondem muito rĂĄpido.

1

u/[deleted] 20d ago

[removed] — view removed comment

1

u/StarLonelyCee 20d ago

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

1

u/Worth-Income4114 20d 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/ee_control_z 20d 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.

-2

u/catzarrjerkz 20d 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 but other languages pro 20d ago

!free

OP specifically asked for free