Python for programmers?

by Rob Galanakis on 13/10/2012

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 are 4 comments in this article:

  1. 13/10/2012nih says:

    There might be something like this in:

  2. 13/10/2012Nick Coghlan says:

    Dave Beazley’s Python Essential Reference is probably the best bet currently.

  3. 13/10/2012Bogumil Wiatrowski says:

    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.

  4. 14/10/2012Marius Gedminas says:

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

Write a comment:

nine − = 5

Switch to our mobile site