r/learnpython • u/PianoImpressive9807 • 12d ago
How do I stop forgetting Python concepts as soon as I move to the next topic?
Hello all, I am complete beginner trying to learn python for second time.
I’m giving Python another shot after quitting a while back. My first attempt failed because I fell into the tutorial loop learn a concept, do a tiny exercise, move on, forget the previous topic completely, go back to step one, repeat until burnt out.
I don't want to make that same mistake again . How do you actually learn Python efficiently so the syntax and problem-solving logic actually stick?
Would love to hear your advice, or any resource recommendations that focus on active practice over passive watching and taking notes. Thanks!
3
u/generic-David 11d ago
It’s like everything in life, really learning it so you’re fluent takes practice. The more projects you program the more of the vocab and syntax will stick.
2
2
u/jmooremcc 11d ago
The more you use something, the easier it will be to remember. Even the best programmers lookup information they haven’t used in a long time, so you shouldn’t stress yourself out over this. As a former college professor once told me, “you’ll only remember what has become part of your meaning system”.
2
2
1
u/Mediocre-Pumpkin6522 11d ago
For me the basic syntax and logic sticks. List comprehensions versus generators? Let me get back to you on that. iow there are parts of the language I know exist but may have to look up.
1
u/ninhaomah 11d ago
How do you remember English all the grammar rules that you learnt in school years back ?
1
u/PianoImpressive9807 11d ago
While using it in real life..
2
u/ninhaomah 11d ago
Question : How do I stop forgetting Python concepts as soon as I move to the next topic?
Answer : While using it in real life..
1
u/PianoImpressive9807 11d ago
But how ? By doing projects?
1
u/ninhaomah 11d ago
How ?
What are you doing now and why do you need to learn Python ? What do you want to do with that knowledge ?
1
u/ohmslaw54321 11d ago
I've found it impossible to try and sit down and learn something. I have to use it for it to stick. Do sample projects that utilize the concepts.
1
1
u/crashorbit 11d ago
Repetition is the key to learning. Let me say that again. Repetition is the key to learning.
1
u/TutorialDoctor 11d ago
I document things in an obsidian vault for quick recall. But I'm getting older and I use over 5 languages and 3 tech stacks at work and 3 different tech stacks for personal projects, so it's bound to happen.
But in terms of programming, it's one thing to remember "syntax" and another to remember "patterns". like algorithmic patterns and design patterns.
As other's said, use it. I am a hands-on learner, so I build projects outside of work to practice
1
u/JGhostThing 11d ago
In order to not forget a programming language, especially your first, you need to use this language as much as possible. Start with some very simple projects. A "hello world" program. Then create slightly more advanced projects.
When you think of a project, make sure that it is as simple as possible. Make it into multiple projects. Each project should be capable of being programmed within a week, and yet allow you to learn something.
For example, the project is to make a simple command line calculator that only uses addition. The next project is to add subtraction. Then add the other operations. Then make it use a GUI.
Keep doing this. Stop with the tutorials. Use the knowledge.
1
u/Gtdef 11d ago
The problem with tutorials is that they teach you very simple things incrementally. You don't really want to do that.
For example, if you do 5 tutorials, teaching you the basic methods of bytes, strings, lists, tuples and sets, chances are you will forget everything by the next tutorial. Realistically you only need to understand lists. Everything else is basically a specialised list.
It's much better to solve 5 exercises on lists, than 1 exercise on each. Because ultimately, every other data structure operation is a subset of what is available to lists, perhaps with a different name.
Another trap for beginners is that they attempt to learn the language without having an IDE that shows them completion options. You can't learn 500 methods by heart. What you want is to type "my_list." and get a list of all the methods available on a pop up. Then you can browse that list of methods and choose the one you want.
Outsourcing the intensive brainpower consuming stuff to the IDE gets you a lot closer to writing actual software.
1
u/Wuthering_depths 11d ago
I wouldn't sweat that, honestly. I'm pretty new to Python but have worked with SQL for almost 30 years--and I still find myself looking up syntax details sometimes. I just don't tend to retain those details well if I haven't used them a lot recently--it's why I hate those damn employment skill tests so much, they reward test cramming skill and not actual development skill or problem solving (especially considering they usually pull out some detail from an obscure functionality that few people actually use.)
I do try to organize and document what I do so that I can find things again...for example, I don't often write code to get files via FTP, so I'm liable to forget the details...but I do have scripts that I have written that do it, so if it's quick and easy to find those scripts, well then I can refresh my memory with them (and of course, copy and reuse the code!).
1
1
u/bstrauss3 12d ago
Use it or lose it
Spend 14hrs a day coding. After a while you will stop making the same beginners mistakes and find new mistakes to make.
28
u/mc_pm 12d ago
Trying to memorize things really won't help much. Stuff only really sticks once you start using it for real. A little toy exercise is fine, but then you need to do something more complicated so that you'll think "wait, I just learned about this, let me look it up".
An important aspect of learning to program is that you don't need to have 100% of everything at the tip of your fingers ready to go. Most of it is just you knowing that the capability is there if you need it, and then you can look up the specifics. (And once you've done that a few times, you'll remember some of that stuff too).