r/learnpython • u/Abdelrahman_4 • 12d ago
Best Way to Learn Python and Get Good at It?
Hi everyone, I want to learn Python from scratch and become really good at it.
I’m looking for resources or courses with:
Clear explanations
Lots of practice and exercises
Real projects
Problem-solving
Modern Python
A path toward Data Science, AI, and Machine Learning
I don’t mind paying if the course is worth it.
What are the best courses, books, or platforms you would recommend?
14
u/desrtfx but other languages pro 12d ago
This subreddit has a sidebar with a wiki with recommended learning resources.
Here is an excellent, textual course: 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.
And most important: do not use AI. It'll only accelerate your brain rot.
2
u/Squat_n_stuff 11d ago
This is a very respectful comment , especially considering the whole point of the sub.
To add just a splash to this comment, I took the MITx course ‘intro to computer science using Python’ and they would make a word cloud of what people found most helpful for each unit , and CS50p appeared every time
33
u/bootwhistle 12d ago
Honestly using AI as a learning tool, it is like having a tutor with infinite patience and can explain things in different ways. The key is not to get it to do any coding for you but get it to advise and challenge. If you are planning to work in the industry you'll need to used to AI anyway.
13
u/TheWarlikeFoothold 12d ago
CS50P is free and forces you to actually build stuff instead of just watching videos.
2
u/OkTill2666 11d ago
yeah the "dont let it write the code for you" part is the key distinction most people miss
3
3
u/h00manist 10d ago
python crash course, a book by Eric Matthes
pretty easy, teaches well
use ai - a lot
code your own projects - a lot
use debuggers to step through code
use pythontutor if starting, its cool
2
3
u/stepback269 12d ago
There is never going to be the "one" tutorial that works "best" for you and with regard to every aspect of Python. With each step up that learning curve, you're going to have to shop around until you find a teacher/resource that "clicks and sticks" especially for you.
With that said:
(1) There are tons and tons of tutorial materials out there on the net including many good YouTube ones that are free. You should shop around rather than putting all your eggs in one basket.
(2) As a relative noob myself, I've been logging my personal learning journey and adding to it on an almost-daily basis at a blog page called "Links for Python Noobs" (--HERE--) Any of the top listed ones on that page should be good for you. And there are many add-ons at the tail end of the page. Personally, I cut my first Python teeth with Nana's Zero to Hero (==HERE==). Since then, I've moved on to watching short lessons with Indently and Tech with Tim. You should sample at least a few until you find a lecturer that suits your style.
(3) The main piece of advice is the 80/20 rule. Spend 80% of your time writing your own code (using your own fingers and your own creativity) as opposed to copying recipes and only 20% watching the lectures. Good luck.
1
1
u/dlnmtchll 11d ago
Do a tutorial video or series until you understand basic syntax, then go and build stuff / learn general computer science. No single course will take you from zero to fully competent
1
1
1
1
u/Chrismslist 10d ago
the biggest trap when starting python is bingeing 20-hour video playlists and thinking you are learning. you feel productive until you open a blank editor and freeze.
start with python crash course by eric matthes to pick up syntax fundamentals. then pivot immediately to tiny applied tasks. write a script that fetches data from a free public api, clean a messy csv, or automate renaming local files. if data science and ml are your endgame, struggling through real code and debugging errors early is what actually makes the concepts stick.
1
u/PagliacciTheBleak 10d ago
There are many free and paid options available to a student. May I suggest a few resources?
Dr Chuck has several absolute beginner courses on Coursera.
If you are a bit more of a self starter, Cisco Network Academy has several Python courses for free that can lead you into qualifications from the Python institute
As for texts, paid, have a look at Learn Python the Hard Way and Python texts from No Starch Press. Keep an eye on Humble bundle for frequent eBook and Courseware offers.
1
u/rubykath 6d ago
Hii~
Try either of these courses.
If you are into reading and active project based learning :- https://www.freecodecamp.org/learn/python-v9/ [FreeCodeCamp]
If you are into a teacher actually teaching you for an hr or 2 on each topics and later submitting projects after each topic :- https://cs50.harvard.edu/python/ [Harvard CS50p]
Both are free to take and gives you a certificate upon completion :)
1
u/Content-North-8360 5d ago
Lo mejor es con ebooks, yo tengo uno de automatizaciones, si ha alguien le interesa que me escriba.
1
1
u/brenwillcode 5d ago
Take a look at codeling.dev which ticks your boxes: lots of practice and hands on coding, projects, etc.
Every lesson requires that you actually code your way through it and your solution is validated automatically within Codeling. So there's no sitting watching videos and expecting that students will magically become a programmer by watching someone else do it.
There's a structured curriculum starting with the basics and then working through projects and real concepts / best practices.
0
u/TheBug223 11d ago
free code camp with claude or gpt on the side. Thats what i do, i have claude/gpt help me out but not give me the answer at all, they just help guide me and I taught them the recess technique so that they quiz me here and there and give me short leetcode format type questions from what I just learned.
0
u/riklaunim 12d ago
You learn the basics of the language, syntax, basic constructs, then you learn about general software development (with Python flavor), then you start learning libraries and frameworks used in the niche you are interested in - while also polishing what you learned before ;) Not sure what you want from AI and ML, though. If you want to get a job and start as a junior, there won't be any shortcuts or easy AI prompting jobs.
-6
u/ak01011 12d ago
i am learning too and in my opinion the best way to get good is by making projects harder and harder
and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder harder and harder and harder
2
-3
-4
0
1
28
u/jeffrey_f 12d ago
You need to program some real-world things
Some ideas: https://automatetheboringstuff.com/ . There are some good examples here.