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.