I like Python for exploring unknown data [One More Cool Thing About Python ].
Anthony B. Coates [Homepage ] notes "I tried Python for a while for similar reasons. However, in my case I was a bit put off by the need to learn a another library API, which is not an insignificant investment."
An important point. I know others who aren't comfortable knowing a number of API's. For some reason, I'm able to work my way around in Java, Python and GTK without too much trouble or confusion. I'm not sure why, but I think that the API authors don't provide useful, high-level overviews. I think that the design patterns that summarize the API's are often omitted. I work them out on my own, sometimes creating my own overview documents of how the API's are meant to be used.
Perhaps it's the experience I've had teaching database, C, Unix and Java programming. You can't cover the material without providing the overall patterns. I think that this experience might have given me the mental tools for being able to integrate new API's into my mental model of how well-written programs should work.
On the other hand, there are some things I haven't spent a lot of mental energy mastering. Perhaps we only have a finite number of slots for large complex things in our heads. I don't follow many professional sports. I have a limited facility with XSLT. Maybe it's an optimization trade-off: I opted for Python, SQL, Java and America's Cup Yacht Racing. Perhaps Kontrawize choose the Ukulele instead of Python?