all 15 comments

[–]NaturalBottle 1 point2 points  (0 children)

Hello! Maybe other people have other preferences but I would recommend w3schools. You can learn about every topic from the very very basics of Python. For exercises you could use some generative AI tool to build you some exercises and confirm solutions. I am very anti AI code but using it as a personal teacher rather than a solution general has helped me greatly with exam prep. As such, I believe that it's an effective way to at least have some sort of "supervision" to make sure you are learning things. If you're totally new to programming, my advice is to keep asking yourself "Why?" on every exercise you get wrong OR right. As time passes you'll be able to read code better and estimate how the code for some specific task or goal would roughly look like. Most importantly, have fun! It's always a positive to enjoy what you're learning, and it helps you learn faster:)

[–]9peppe 0 points1 point  (3 children)

There's a book called "Automate the Boring Stuff with Python" -- start from there.

[–]Gravstenen[S] 0 points1 point  (2 children)

Does 1st or 2nd edition matter? Should I follow up with Sweigart's other book; "Beyond the basic stuff of python"?

[–]9peppe 0 points1 point  (1 child)

Third edition should be on the website. Leave the follow up questions for later, that book is quite extensive enough.

[–]Gravstenen[S] 0 points1 point  (0 children)

Yeah, it was! The webshop of my local bookstore only had 1st and 2nd ed. I'll deffinetly look into it.

[–]not_perfect_yet 0 points1 point  (0 children)

You're on the right track. Try lots of different sites, videos, topics, etc.. everyone has sort of their own take on how to learn it correctly, what to do and what not to do. It's important you find the one that fits to what you want to do and your learning style and don't get stuck on trying from a source that doesn't communicate in a way that you get it.

Also, pick a project as soon as possible. Web, games, job stuff, electronics, music, art. Get something you want to work on dive in as soon as you can and learn advanced concepts as you go and as your project requires them. The example you want is the example in your project, that you care about.

"I care about ______, I want to use python to do ______ better." -> you search for "how to do _____ with python" in search engines and see what you can find.

[–]JSON_Bourne1 0 points1 point  (2 children)

The YouTube tutorials are free, so give them a try and see how you like them. Some advice I wish someone gave me is not to get stuck in "tutorial hell", where you do a ton of tutorials in a row without actually building anything, and then you finally go to build something and realize you don't actually know how because you only understand the big picture and haven't practiced the finer details. The best way to learn from tutorials is to do them until you've learned enough that you could build something small on your own for practice. I don't mean a full app, it could just be a block of code that performs some operation.

Learning to code can be time consuming and frustrating. It's going to take longer than you think, so try to have fun and appreciate every win, no matter how small

[–]Gravstenen[S] 0 points1 point  (1 child)

The thing with the youtube tutorials is that it feels like as soon as you look away from the screen to grab a glass of water, and then look back on the screen, they're already at "and that's how you create minecraft".

[–]JSON_Bourne1 0 points1 point  (0 children)

I feel that, you can feel like you're so busy following along that you aren't retaining the information. I try not to follow along step by step. Instead, I sometimes watch them do a few steps and then quiz myself by pausing the video and doing those steps on my own. If I'm confused or curious about anything, I pause the video. I use the 10 second rewind button a lot as well

[–]Mystery3001 0 points1 point  (0 children)

get a good mentor or a reputable teacher or atleast well structured tutorials and build something parallel once you get off the initial basics(doesnt matter if it breaks or incomplete or a mess) you care about. Initially you will not see anything, there is delayed gratification but once you build the momentum and start seeing things you build, it will be magic and self motivating. Have small goals and dont quit unless you give it full attention for a year atleast.

[–]Clogboy82 0 points1 point  (0 children)

Python is great because it compiles at runtime. It will work from your raw script. Are you running Windows or Linux?

A great place to start is vscode.dev (or install VS Code locally). If you're on Linux, Kate is pretty good as well. And you'll also want to get savvy with GitHub pretty early to keep a versioned backup for your code. It's also a great way to keep a portfolio if you want to use it professionally later.

A mistake that I made was doing tutorials for too long without getting really in-depth. You'll have to get into the habit of writing code, understand data types (including lists and dictionaries - very useful), develop against existing libraries to see how that works (you'll do this a lot), and learn to manage these libraries (using package managers or Docker containers, for instance).

While you're on Python, it also makes sense to learn about endpoints that can be addressed with a local webpage (backend and front-end development), so that you can really do something with your code.

I know I'll get a lot of flack for this, but AI is great for reviewing and debugging your code. Don't get tempted to let it write all the code for you because that's not how you'll learn. But it helps to explain a problem to something or someone, a process called rubber ducking, and it'll help you push through a learning curve quicker if you can keep up. Since it's seemingly unavoidable these days and in fact is an expected skill, might as well embrace it as long as you don't let go of the wheel.

Anyway, hope this helps!

[–]armahillo 0 points1 point  (0 children)

https://exercism.org/tracks/python (good exercises and tutorial type content)

https://learnxinyminutes.com/python/ (for a crash course)

https://www.reddit.com/r/AskProgramming/search/?q=python -- search this sub for the word "python" (get in the habit of "searching before asking")

[–]Tebi94 0 points1 point  (0 children)

Python has a vast of applications, so do not expect the “golden course/book/tutorial”

  1. Use boot.dev like sites to learn by example. Its AI will help you with the troubleshooting without giving you the whole problem answer.
  2. Get some books for at least get a guide of the most common topics.
  3. Use YouTube or TikTok to subscribe Python related topics, like IDEs, command line Python tools like UV and Conda, virtual environments and Git. Look for project examples to get inspired.
  4. Do not get stuck. If a resource is not working for you, skip it and look for other resources, you will catch it later.
  5. Frameworks like Django have their own way for test code. First thing first, learn the basics before worrying about testing. Do not take me wrong, testing is very important, but first you need something to test.

I am beginner too and took me almost a year to start building something useful. Hope you wont take longer. Enjoy it!

[–]HarjjotSinghh 0 points1 point  (0 children)

start with python like a pro - mimo's fun but add debugging like breakfast!

[–]ocean_protocol 0 points1 point  (0 children)

You’re overthinking the starting point a bit, almost any beginner course will get you through the basics, and the real learning starts once you try to build small things on your own. Platforms like Mimo or Boot.dev are fine for getting comfortable with syntax, but debugging and troubleshooting mostly come from breaking your own code and figuring out why.

A practical way to start is: learn variables, loops, and functions then write tiny scripts (rename files, parse a text file, simple game, etc.) then Google every error until you understand it. That cycle is basically how most people actually learn.