Python for programmers?
Writing up some performance reviews reminded me of my opinionated fact that a minority of people programming python really understand python. I think in statically typed languages, this is somewhat more acceptable. I think of how interesting “CLR via C#” was. It helped me understand the CLR and IL, as well as some much more general design patterns (damn you, properties!), but had minimal impact for how I used C# (except perhaps regarding performance and GC).
But in a fully dynamic language that has so much power- not understand how the language itself works puts you at a severe disadvantage. I’m not just talking about the one thousand aspects of meta-programming, but even just taking advantage of duck-typing (ie, instead of creating/passing a type, can you just pass a callable that returns a new instance?). Or how decorators work, or how importing works.
I am pretty sure I asked this when I started python but, are there any books (or courses) about python, written for more-or-less experienced programmers (even python programmers), that aren’t about ‘teaching python’ in the normal introductory (or cookbook/reference) way? More along the lines of CLR via C#, or some of the better python guides out there (Idiomatic Python). I am sure there are a large number of people out there who would get huge benefit from such a book or comprehensive guide.
There might be something like this in:
http://jessenoller.com/good-to-great-python-reads/
Dave Beazley’s Python Essential Reference is probably the best bet currently.
Try reading various PEPs, they’re verbose and overly detailed, but you can get a lot of “Pythonic way” tricks and solutions directly from them.
Not a book, but there was a very good Google video titled “Advanced Python or Understanding Python”.
(I’d search for a link, but that’s hard to do on this crappy Android tablet.)