A good resource for learning advanced or obscure python concepts?

I am a competent Java developer who will soon be working with Python as well as java. I know that any competent software engineer can quickly get the basic syntax of a new language and therefore is not interested in learning basic python; but to be a great python developer I want to make sure that I know and can use more advanced or simpler overlooked concepts. Any opportunity that Python has that is shared between Java and other OO languages ​​(objects, reflection, streams, etc.) I assume exists and I can find the exact syntax and functionality when I feel like the opportunity would be useful, be sure to know the specifics of these concepts at this point. However, I'm going to find out details that may be less obvious that I might be missing.if I dived right into the language without even realizing I missed them, but that would make me a better developer if I knew them.

To give a random example of what I mean from java; I had a peer who had memory leak problems caused by using an object that needed to be closed before it could be properly GC. A peer of mine who taught himself Java could not figure out how to avoid a memory leak, as the nature of the program made it difficult to know when to close an object. I assumed it was closing the leaking memory object in the finally block of that class that used that object. This solved the problem with minimal refactoring, but the reason I was able to give it such an easy solution was because I already knew that Java objects have a finally method and what that method did. He did not know about the end methods, because he himself learned the language, and the "Finally" method was not somethingwhich ever came up before and he didn't know what to expect because this is not what existed in C ++. Since I was formally teaching Java, I knew a useful trait that he did not recognize. This is such an obscure feature that I want to make sure I know in python, so I don't face the same issues my peer faced and don't understand that there is a simple solution built into the language for this.

Can anyone suggest a good resource for exploring and learning about such prominent / obscure features? I don’t need and honestly don’t want to waste time on resources that will insist on trying to teach me every syntactic difference between languages, I am sure I can learn these details as needed. I just want to focus on advanced features that I might have "missed" if I hadn't gone out of my way to discover and explore now. Alternatively, if anyone can suggest specific unique features, they think I should know that I can explore them myself as soon as I know what to look for.

By the way, I will probably have to make the call rather for Java or Python development later, so any resources or information on the pros and cons of the two languages ​​compared to each other would be nice. But I'm sure I can figure it out on my own so that it is less important to me.

+3


source to share


2 answers


I found the Python Essential Reference to be pretty good. Concise but handles implementation details well. IMO, the only book you need for Python.



0


source


I personally bought this book when I started learning python.

Well organized and easy to pick up



The Beginning of Python: From Beginner to Professional 2nd Edition

Enjoy

0


source







All Articles