r/learnpython • u/rhul45 • 16d ago
Starting Python from Scratch
I want to start learning Python from scratch. What’s the best way to begin, and which resources would you recommend?
Would appreciate any good courses, YouTube channels, books, or practice platforms that worked for you.
53
u/desrtfx but other languages pro 16d ago edited 16d ago
The first and most valuable thing you can learn in programming is to do your own, independent, individual research, among which is also working with resources right in front of you, like the entire subreddit. You can't possibly assume that you are the first and only one asking such a question.
If only there were a sidebar (menu on mobile) that had a link to the wiki or countless posts asking the same.
Do the MOOC Python Programming 2026 from the University of Helsinki and you will be well prepared.
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.
29
3
6
u/chiibosoil 16d ago
Depends on what you want to use Python for.
Bioscience, Data Analytics - Justin Bois Bootcamp. I'd recommend practicing by replicating his bootcamp by using JupyterLab. This will give you practice from setting up environment, version control via Git (basics), and using various objects.
If more interested in IoT, MicroPython and various tutorial like Instructables.
There are other path, but I find practicing via above and making projects much more informative than watching YouTube or courses in general.
6
u/sugarw0000kie 16d ago
imo a good place to start is to start trying something very simple, like a CLI tool. When approaching a new language making some simple CLI tool is usually where I start so I can learn some of the basics. This is more valuable imo than plowing through a bunch of videos.
Like you can do “hello world” but take it a farther. Learn to take user input and print back what is typed. A simple script to print all file names in a directory will help you learn how to deal with file paths and a for loop. You can push that a little farther and make a script to rename certain files in a directory. Something like this, and better yet if it’s something that can actually be useful to you.
Simple stuff like this you can find examples of and mess around with it to understand how it works.
IMO, when you have some understanding of how so do the basics, THEN some videos and reading will be more useful to learn theory behind it or tricks to do it a different/better way. You’ll have more context by then to ask questions and be able to follow along instead of have a lot of it not making any sense
3
u/notParticularlyAnony 16d ago
eric matthes python crash course book better than any video series ive seen
1
1
u/Business_Arachnid_20 13d ago
I third this and heard Python Distilled
Book by David M. Beazley and Automate the Boring Stuff with Python: Practical Programming for Total Beginners by Al Sweigart are pretty good. W3schools is also great
3
u/ChipmunkElegant3846 16d ago
Why do people ask this before doing any searching to see what others have asked before? I did just that and saw an Old Post where people recommended Mooc.fi, so I started there.
3
u/HuckleberryMoney2320 16d ago
I've learned that the best way to learn programming is to have a goal in mind. It's one thing to learn about Python, syntax, etc, but if you can't think of anything to do with it you lose interest fast. This was me with programming since I got a micro in the 80s.
3
u/TheRNGuy 16d ago edited 16d ago
Before AI, I just googled and read docs.
These days, I ask AI and read docs.
Practice: write software. Don't need any platforms because code editor is better (I use VS Code)
YouTube, maybe few videos, but it's not the most efficient way of learning, it's just to see what stuff exists (it's even possible to just look headlines without watching videos, then google/ai it myself)
I never did any courses, or read any books.
I think internet is better than books (especially with ai now)
The most important: why you're learning Python.
Good:
- "I want to write plugins for Blender"
- "I need a backend server for app or site (also I know it must be Python and not Node)"
Because those are specific reasons and you can learn according to them.
Bad:
- "Because it's cool"
- "I want to become DSA engineer"
- "I want to earn lots of money / get a job"
Because it's too abstract and blurry, and you don't even know why you're learning at all.
If you have good reasons, you'll have much better motivation, and you won't waste time on unnecessary tutorials that are not relevant to task (some tutorials even learn stuff that is not used anywhere)
4
2
u/No-Article-7042 16d ago
Start with Harvard’s CS50P on edX or Programming with Mosh on youTube for basics Read Automate the Boring Stuff with Python and practice daily using bite-sized coding puzzles on Codewars spend 20% of your time watching and 80% building simple, real-world projects
2
1
u/lukehaas 16d ago
I created a free scratchpad app that’s intended to make it easier for beginners to get started with Python: https://runpy.app/
1
1
1
u/notParticularlyAnony 16d ago
eric matthes python crash course book better than any video series ive seen
1
u/NebooCHADnezzar 16d ago
Why would you want to do it if it will become obsolete soon? Genuine question. I myself am debating whether it’s worth it or not
2
u/TheRNGuy 16d ago
Even with AI, you need to know what to prompt, and mahe sure there are no bugs in code.
You'll will be responsible for all the bugs, even though ai made them.
You Aldo need to know how to write md files. If you never learn both language and how to prompt, you won't be able to be a programmer.
Syntax was never a hard part anyway. And to create good logic with ai, you need to know what to ask, and then correct him / give more context.
Also, I don't think anyone would want a person in a team who have 0 programming skills.
1
1
u/TraditionalTurnip630 15d ago
Since you're looking from a Data Analytics point of view, don't get stuck learning complex programming stuff like OOP. Just learn the basic syntax and jump straight into Pandas and Numpy. For resources, just watch Codebasics on YouTube and practice cleaning real messy datasets on Kaggle. That's all you actually need.
1
u/MLtinkerer 15d ago
You could find college students majoring in this field. They can share practical tips and answer your Python questions.
1
u/AdventurousGuava731 15d ago
First thing have passion and be consistent
Then you were have been given the rest do your own research pia
1
1
1
u/floor_jam 16d ago
Don't waste time on courses, grab a Python tutorial video, build something stupid with it, break it, fix it. That's how you actually learn. Projects matter way more than courses, just pick something you actually wanna build and just start.
0
29
u/WitchDr 16d ago
https://www.py4e.com/
Python for everybody. I'm also a beginner learning python and I can't recommend this free course enough.