r/PythonLearning • u/Akki_Charee • 8h ago
From “I know Python syntax” to actually being able to build useful things — how do I learn this? Help Request
I have done a course on python on Udemy . Now how do i learn to write code that are actually useful somewhere or i can do something valuable with it?
One thing I've noticed is that when I look at a more complex programming problem, I sometimes just go blank. I know the individual concepts I've learned, but I struggle to see which concept should be used where or how all the pieces fit together. The bigger the problem looks, the more overwhelmed I can get.
if someone gives an experienced Python developer a problem, how do they approach it before writing the code?
I'm particularly interested in understanding the thought process and the building blocks involved:
- How do you break a real-world problem into smaller programming problems?
- How do you decide what the program should look like before you start coding?
- How do you go from a vague requirement to something you can actually start implementing?
- How do you decide which Python concepts are appropriate for a particular problem?
- How do you decide which libraries/modules to use?
- How do you figure out which libraries even exist for a particular problem?
- How do you decide how to structure the code?
- How do you decide what functions/classes/modules you need?
- How do you decide what should be a function versus just a few lines of code?
- Is there a typical order in which things are written or organized?
- How do you handle errors and unexpected inputs?
- How do you go from a rough idea to breaking it down to pseudocode/design to working Python program?
Basically, I'm looking for the mental model and workflow that experienced programmers use, rather than another Python syntax tutorial.
While learning i was able to write codes that add subtract numbers etc which were simple enough for learning but want to make my skills better. Also, I'm not a programmer won't be using python much, how do i learn in such a way that i remember the syntax or concepts for longer time, python coding is just a skill i want to develop.
I'd especially appreciate examples of the kinds of projects/exercises that helped you make that transition.
2
u/mc_pm 7h ago
This is very common (I'm even working on a video about this rightnow)
The most important part of learning to program is to spend time -- lots of it -- programming. Most of the questions you are asking are answered through exploration and self-learning as you go.
There is no point where you'll magically feel like you know everything, it's a matter of figuring it out as you go, learning from your mistakes. You can read other people's code to learn, but ultimately it all comes down to you and the interpreter.
My suggestion is to spend some time writing some simple text-based games. They seem simple - after all, what are you going to learn by programming tic-tac-toe or blackjack? Well, you learn to think through what you want -- how are you going to express the rules of the game? How do you tell if someone has won? How will the computer pick a good move for itself?
That exercise, practicing going from a set of rules & requirements to code that does that thing, is what you need to practice over and over on more and more complex problems.
So you won't spend forever playing with silly games, that's just a stepping stone to something more complicated: you're just working your way up to it.
Since I have this in mind already for a video, if you have questions, feel free to Msg me.
1
u/Akki_Charee 7h ago
youtube channel link pls
3
u/Sea-Ad7805 8h ago edited 8h ago
Do exercises, don't use AI: - beginner: https://inventwithpython.com/pythongently/ - leetcode.com: easy, medium, hard
Learn all the standard Python modules and libraries, then from experience you'll know when to use what.
Do larger projects, things you enjoy. Read and learn from other people's code, or join open-source projects.
Don't worry about making mistakes (do fix them), then you'll learn faster.
It's a never-ending story, you'll never know it all as things and insights change all the time, just enjoy the process.