Learning anything deeply requires a lot of time and it is an on-going process. Programming is no different. Challenging part is that, it seems like, there is always more and more to learn.

For example, learning Python - you can go through basics in 1 hour, but when you start exploring it more and actually start using the language, you always find something new. A new feature, library, module, tool, n different ways of doing a task.

Book Python Tricks: A Buffet of Awesome Python Features introduces a lot of new things when it comes to Python, but is it possible to actually remember all of this? No, and good thing is, it is not even necessary!

Learning programming is not about memorizing things (some memorization is required, of course), but it is mainly about learning how to think & solving problems.

Very good quote, from the above mentioned book, is exactly regarding this point:

Sometimes the most important skills for a programmer are “pattern recognition” and knowing where to look things up.

Knowing this lessens the stress of having to learn too much.

It’s a good idea to go through what Python (or any other language) can do so that we can recognize the pattern when we see it somewhere, but it is not necessary to memorize it.