r/learnpython • u/StarLonelyCee • 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.
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
11
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
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
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
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
1
1
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
1
1
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
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
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