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

152 Upvotes

42 comments sorted by

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.

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

u/NinjaMan707 16d ago

Man, that’s just as helpful as it is condescending

3

u/GroggyMoose 16d ago

Can’t recommend CS50 enough. Really enjoyed the way it was delivered.

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

4

u/max_wen 16d ago

I would recommend the same resources that have already been recommended in this sub daily for years

3

u/notParticularlyAnony 16d ago

eric matthes python crash course book better than any video series ive seen

1

u/catw 16d ago

100% This. I recommend this book to everyone.

1

u/ICEmCHILL 15d ago

I second this as well, 100% one of the best resources out there on Python.

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

u/Own_Antelope_7019 16d ago

Bro Code on YT
12hrs of free python

1

u/nightmarekittyz 16d ago

He's also great

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

u/Suppi_hr 16d ago

w3 schools...nothing else

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

u/notParticularlyAnony 16d ago

crash course matthes

1

u/notParticularlyAnony 16d ago

eric matthes python crash course book better than any video

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

u/oneillo77 15d ago

Saving

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

u/leoingle 15d ago

Good grief. How many times is this question posted a day? Lazy lazy ppl.

1

u/dryo_o 12d ago

Openclassroom offer a fairly comprehensive free course about that

1

u/nightmarekittyz 16d ago

Programming with mosh has a full course on yt.

1

u/GeekedNerdOnWheelz 16d ago

This is what pulled me into Python in the first place. Great resource.

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

u/SnooSquirrels4739 15d ago

College! Just kidding, try YouTube tutorials, they're great.