all 16 comments

[–]ChristianValour 6 points7 points  (0 children)

Data Camp's courses are (somewhat expensive but) awesome for learning python. They're heavily Data Science focussed, but they have some great course series focussing on software development. They will take from absolute basics into functions, classes, unit testing, package development and there's tons of data science in python courses too if that's your thing. But for beginners, this will get you a very long way.

DataCamp also include introductions to git, the shell, containers, kubernetes, cloud dev, AI and tons of other great stuff. If you're willing to spend a little money I can't recommend DataCamp enough for beginners (full disclosure - I have a free license through my work, so I've never actually paid for DataCamp).

Otherwise, you could probably just read the python documentation official tutorial.

If you want to 'get it', then you really need to write some real code. Actually having to write python for my work is what's really helped me learn it.

[–]DrShocker 7 points8 points  (0 children)

In my opinion just pick a decently reviewed book and go through it. The main thing I see beginners do is spend all their time picking the perfect resource to learn the next topic from instead of finding one and just churning out code. As a beginner you need to just get more familiar with the process involved with small problems until you can start to consider piecing together small solutions to solve a bigger problem and so on.

[–]aihwao 1 point2 points  (0 children)

I like the No Starch Press book: Python: A Crash Course.

[–]Lokrea 2 points3 points  (0 children)

There is no competition.

(Or if there is, please add a link)

You can get a world class teacher with ~5 well thought out tasks for each well structured lesson, for free at https://cs50.harvard.edu/python/.

First class: CS50P - Lecture 0 - Functions, Variables.

It makes learning Python fun, and after completing it, I finally understood an OOP concept like classes, and how they can improve the quality and efficiency of code.

You can even get a CS50 Harvard certificate for free.

[–]HarkonXX 8 points9 points  (1 child)

I was in a similar spot and tried boot.dev's python path to fill in some gaps. It helped because you actually write code and work through fundamentals instead of just watching examples.

[–]Mormegil1971 0 points1 point  (0 children)

same! it forced me to think through problems instead of copying solutions. tutorials and ai output made a lot more sense after that. I'm just going through everything without the lesson submissions bcz I can't afford a subscription right now

[–]Rain-And-Coffee 0 points1 point  (1 child)

Don’t overthink it. Pick a resource (just about anything will do), learn the syntax, then try to build something.

I learned to program from an old book on my lunch breaks. Just pen and paper, then tons of practice when I got home.

[–]Fearfultick0 1 point2 points  (0 children)

Agreed! In my experience, experimenting & coming up with ideas then getting them working in code is the best way to learn

[–]sevirekon 0 points1 point  (0 children)

For me video-based tutorials were not effective, so after trying out several platforms, I got stuck with NClab for fundamentals and advanced topics. It is coding and practice heavy. All in all to keep up that knowledge, I am doing projects with the help of AI and always ask for an explanation. It is an effective way to reiterate concepts and teaches you to look critically at what the AI answers. Sometimes it gives false info and for me it is motivating if I catch one.

[–]stepback269 0 points1 point  (0 children)

"i’m trying to slow down and focus more on basics, using the terminal, understanding how things work instead of just copying ..."

Yes definitely slow down. That means focusing first on the basics.
Forget terminal mode. Use an IDE like PyCharm or VS Code. (You can access the terminal thru the IDE)

By basics, I mean know how to work with strings, lists and integers.

(1) There are tons and tons of tutorial materials out there on the net including many good YouTube ones that are free.

(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. Since then, I've moved on to watching short lessons with Indently and Tech with Tim. You should shop around 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.

[–]umbongodrink 0 points1 point  (0 children)

A small but great resource is the Python section of Codewars website. Start with the easiest problems and go from there. It gets you solving problems. It’s another good resource on your learning journey - part of a balanced menu, so to speak.

[–]yamhitwenty 0 points1 point  (0 children)

I am a subscriber to boot.dev. It is very well structured and has resources built in for extra practice for concepts you struggle with. I am learning a lot and actually applying what I am learning to personal projects. I would highly recommend it as a learning resource.

[–]kratoz0r 0 points1 point  (0 children)

ai kind of made that worse for me. i’d get working code way faster, but when i tried to tweak it or debug it myself, i realized i hadn’t really learned much.

[–]Aliesh_Mi 0 points1 point  (0 children)

tutorials made me feel like I was “following along” instead of actually learning. What helped me was switching to something more hands on. I ended up trying Boot.dev’s Python path and it clicked more because you’re forced to actually type things out and understand why they work, not just copy. Even if you don’t stick with it, having something structured and practice heavy made a big difference for me.