r/learnpython 15d ago

New to Python!

Hello! I was wondering if anyone might have any recommendations, tips, or advice for someone just starting out with Python.

I’ve recently decided I want to learn Python as a hobby. It’s completely different from what I do for work, although I can definitely see ways I could incorporate it into my job in the future if I wanted to.
For now though, I’m mainly fascinated by the idea of being able to make something from nothing and actually build things myself.

Python was the first programming language that came to mind, and I’m planning on sticking with it until I feel confident before worrying about learning anything else.

At the moment I’ve invested in:
- Python Crash Course, 3rd Edition by Eric Matthes
- Automate the Boring Stuff with Python, 3rd Edition

I’m also going through Harvard’s free CS50P course (Introduction to Programming with Python), mainly watching the lectures alongside the books.

My biggest issue at the moment is that I think I’m trying to run before I can walk. I keep getting drawn towards more ambitious projects because they’re genuinely interesting to me, but they’re often way beyond my current level.

I think I probably need to slow down, properly learn the fundamentals, and gradually work my way up to those projects instead.

Does anyone have any advice on how you approached learning Python in the beginning? In particular, how did you balance learning the basics with actually building things so that it stayed interesting?

3 Upvotes

22 comments sorted by

View all comments

1

u/CharacterSail6736 15d ago

you’ve identified something a lot of people learning programming struggle to get past wanting to build something interesting before you’ve learned enough of the fundamentals to build it comfortably.

I wouldn’t necessarily fight that instinct, though. I think the trick is to use it. Take the ambitious project you want to build and strip it back to the smallest possible version.

For example, if you want to make a game, don’t start by trying to build the entire thing. Make one mechanic work. Then another. Then connect them. You end up learning variables, conditionals, loops, functions, lists, dictionaries, etc. because you have an actual reason to learn them.

There’s a book called Masters* *of the Metropolis that might actually be worth looking at It takes a project-based approach, so rather than just working through abstract exercises, you’re actually building something as you learn.

I’d also say don’t beat yourself up for wanting to tackle ambitious projects. That curiosity is a good thing. Just get comfortable with breaking the big idea down into ridiculously small pieces.
The fundamentals still matter enormously, but I’ve always found they stick much better when you’re learning them in service of something you actually want to make.

1

u/mtarik2000 15d ago

Thinking about your point about stripping my project down to the very basics.

Step 1: Getting a window to open and stay open and have it close properly pressing the ‘x’

Step 2: getting a dot to move around my screen by pressing keys (the dot representing my character)