good resource for learning advanced or obscure python concepts?
<p>I'm a competent Java developer who will soon be doing some work with Python as well as java.  I know that any competent Software Engineer can pick up the basic syntax of a new language quickly, and so am not concerned about learning basic python; but to be an excellent python developer I want to make sure I'm aware of, and can utilize, all the more advanced or easier missed concepts as well.  Any capability possessed by Python that is shared by Java and other OO languages (objects, reflection, threading etc) I'll assume exists and I can look up the exact syntax and functionality when I feel such capability would be useful, I don't necessarily need to know the specifics of those concepts this moment.  However, I'm looking to learn about details that may be less obvious, things I could miss if I dive right into the language without even realizing I missed them, but which would make me a better developer if I knew them.</p>

<p>To give a random example of what I mean from java; I had a peer who had trouble with a memory leak caused by his using an object that needed to be closed before it could be properly GC. My peer, who self taught himself Java, couldn't figure out how to avoid the memory leak since the nature of the program made it hard to know when to close the object. I suggested that he close the object leaking memory within the Finally block of the class that utilized that object.  This solved the problem perfectly with minimal refactoring, but the reason I was able to give him such an easy solution was because I already knew that Java Objects had a Finally method and what that method did. He didn't know about finally methods because he had self-taught himself the language and the Finally method was not something that ever came up before, and he didn't know to expect it because it's not something that existed in C++.  Because I was formally taught Java I knew a useful feature he hadn't learned.  It's that sort of more obscure feature that I want to make sure I am aware of in python so I don't run into the sort of trouble my peer had and not realize there is an easy solution built into the language to handle it.</p>

<p>Can anyone suggest a good resource for finding out about, and learning, these sort of advanced/obscure features?  I don't need, and honestly don't want to waste time on, resources that are going to insist on trying to teaching me every single syntax difference between the languages, I'm confident I can learn those details as I need them.  I only want to focus on the advanced features which I could 'miss' if I didn't go out of my way to discover and learn them now.  Alternatively if anyone can suggest particular unique features they think I should know I can study them on my own, once I know what to look for.</p>

<p>Incidentally I will probably have to make a call on rather to do development in Java or Python later, so any resources or information about the pros &amp; cons of the two languages in comparison to each other would be kind of nice as well.  But I'm more confident I can figure that out on my own so it's less important to me.</p>
