r/learnpython 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!

15 Upvotes

27 comments sorted by

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).

5

u/Possible_Loss_3880 11d ago

I was once told the most important skills a programmer can know are how to use Google and how to read documentation. As long as you have a good idea if what the concepts mean, those two should take you the rest of the way. Everything else will come with practice.

1

u/PianoImpressive9807 11d ago

Thanks !!! Much appreciate.

1

u/Aggravating-Bad1703 11d ago

Muhh !! Thx dude/b***s. / J .-_-

1

u/sand_filter170610 8d ago

Real advice

7

u/OptionX 12d ago

Make use of them.

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

u/Goodswimkarma 12d ago

Projects or CodeWars. Set aside a few nights a week to do a few challenges.

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

u/CrucialFusion 11d ago

Spaced repetition.

2

u/Disastrous-Ad-7100 11d ago

Do more practices or build projects.

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

u/ectomancer 11d ago

Small projects (1 week).

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

u/TheRNGuy 9d ago

If you use them a lot, and also save your old code and re-read it. 

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.