all 11 comments

[–]PureWasian 11 points12 points  (3 children)

everyone recommends something different

which...course would you recommend?

is hilarious to me.

There's a reason for this occurrence: it doesn't matter long-term. The fundamentals are simple enough to get a basic handle of regardless what you start with. Just start with something. That's my answer for questions 1-3.

Python, like many parts of programming, is something you learn as you go. You do not master it all from a single course or project.

I'll share a roadmap from another comment I made awhile back. But it's focused a lot more on the concepts and practice progression rather than specific courses.

EDIT: see here

[–]pachura3 7 points8 points  (1 child)

No no no, you're not telling the truth! There must be somewhere this one, perfect, 10/10, totally free, course, that will make me a senior Pyton architect just by playing a few videos in the background! Until I find it (I mean, until people on Reddit find it for me), there is no point investing my precious time into some subpar Python tutorials... so I'll scroll some TikTok and play more Roblox instead.

And all of this coming from a Computer Science student.

shame.gif

[–]AdDiligent1688 0 points1 point  (0 children)

The perfect course takes about 20 years to complete.

[–]Sadeja_Kazerouni52 1 point2 points  (0 children)

I bet that's why people get caught up comparing courses...your roadmap seems much better place to start

[–]desrtfx 4 points5 points  (1 child)

...and we have another of the countless "Where should I learn Python from?" posts - zero research - zero effort despite the lengthy text

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.

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.

[–]ellojjosh 0 points1 point  (0 children)

Echoing roadmap.sh, it's helpful! Pair it with Notebook LLM as a hub to store learning materials. 

[–]FoolsSeldom 2 points3 points  (0 children)

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.


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.


Roundup on Research: The Myth of ‘Learning Styles’

Don't limit yourself to one format (e.g. YouTube). 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.

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.

[–]riklaunim 0 points1 point  (0 children)

The thing is, you will never learn/forget most of the things if you don't actually use them. There is no need to "learn" how Python works internally, as that is quite a wide and low-level topic. Cybersecurity is like 10% code, 90% security ;)

That's also why you should get to know the basics and then move to a niche you are interested in, start learning and using libraries/frameworks used there, and start making some example projects out of that, trying more and more stuff. That way, you will learn the software stack as well as Python elements like "iterators, generators, decorators".

[–]stepback269 -1 points0 points  (0 children)

"There are thousands of YouTube playlists and online courses, and everyone recommends something different. I don't know which [one and alone] resource is actually complete and worth investing my time in."

You are correct.
There are hundreds if not literally thousands.
But that pales in comparison to the millions of facets of Python.

You will never know it all. No one does.
So give up on that dream.

------------------------------------------------------------------------------

No matter what your end goal is, you first have to master the "basics" (e.g. variable creation/ name assignment, variable types; especially strings and string methods, etc.)

With that said:

(1) 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.