Q: Beginning programmers and professional programmers have two different sets of requirements for a programming language or a development environment. What does Python offer for the beginner? For the professional? For the casual programmer?
A: For the beginner: easy-to-learn syntax, easy-to-use data structures, and an interactive interpreter that's open to experimentation. Also a large set of readable examples in the form of the standard library, a friendly community that's eager to answer questions, good free on-line tutorials, and plenty of books to learn from.
For the pro: a large standard library and an even larger library of third party add-on modules and packages, exceptions, several layers of programming structuring devices (packages, modules, classes), a choice of several different GUI toolkits, and the ability to write your own extension modules in C, C++ or Fortran.
For the casual programmer: a syntax that's easy to remember, a large standard library with pre-built solutions, a vast amount of documentation, and real power under the hood when you need it.