Having programming experience that spans 20+ years, I was watching the popularity rise for Python. Already being proficient in other versatile script oriented languages that also includes some archaic UI library integrations, why should I bother with placing Python in my arsenal? I could see that those whose experience base in the C oriented languages could to rapidly learn a C-like language such as Python without requiring compilation before execution. I dug in to get a feel for the language and discern how it differentiates with the other languages I already learned.
In my view, here are the advantages and disadvantages I see:
Both an advantage or a disadvantage:
Aside from understanding the syntax nuances, working with regular expressions and matching seemed temperamental. Lastly, there is no switch/case feature for executing a block of code. There is a workaround for defining a data dictionary inside a subroutine that accepts an argument and returns a value based on the argument parmed in. In this workaround, if you have a block of code to execute, you'd have to add additional code to execute it outside/in addition to the "switch" subroutine. Klunky at best. Aside to these exceptions, I really like Python and is a suitable tool to use for both light and heavy duty development. In putting python to use in the real world, I particularly liked its integration with the GTK library for developing a graphical interface to be used by non-technical types.
My son is in college working toward an IT degree. The first language the University taught was Python. I was surprised that they didn't start with a shell or Visual Basic to teach the rudiments for programming. Watching him go through the course, I realized that Python was a really good modern programming tool to teach students the rudiments for both basic logic as well as simple object orientation. Also, the school doesn't have to conform to a single OS platform for it as well.