Python elegance and warts - Part 1

Since the "golden age" of Python 1.5.2 -- for a long time a stable and solid version -- Python has greatly increased its number of syntactic features and built-in functions and types. Each of these additions has reasonable justification, in isolation, but taken as a whole, they make Python no longer a language that experienced programmers can pick up "in an afternoon." Moreover, some of the changes have pitfalls along with benefits.

In this article, I discuss the non-obvious features that have been added to the last several Python versions, and I weigh in on which are truly valuable and which just add unnecessary complication. My hope is to provide a collection of valuable things to watch out for to all those programmers who use Python less than full time. That includes programmers of other languages as well as scientists for whom programming is only a side task. Where some quandaries are raised, I offer some solutions.


Post new comment

  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <h1> <quote> <img>
  • Lines and paragraphs break automatically.

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Copy the characters (respecting upper/lower case) from the image.