Python, in most implementation, is an interpreted programming language.
How it works? It is interpreted by a Virtual Machine (VM) not unlike Java. A Virtual Machine is a special program that "compiles" a Python's code into OS-independent bytecodes, which is then interpreted into machine code at runtime.
Python's is available on a lot of platforms, from an embedded machine (mobile phone, PDAs) to supercomputers have Python interpreters. This is one of Python's best strong points. A carefully constructed code, could easily be portable on all platforms that have a Python VM.
Another strong points in Python is its numeric types. In most programming languages, you could only have integers up to 64-bit integer, in Python you are allowed an infinite-bound integer, only limited by available memory. And there is also variable-precision floating numbers through decimal class, in other languages, the floating numbers is limited to the hardware's fixed precision floating point number.
There is yet any known compiler that is capable of compiling Python code directly into machine code due to Python's dynamic nature. This dynamicity of Python makes it a very flexible language, yet also impossible to compile.
An example of Python's dynamicity is that it is trivial to change a class' definition in Python, while it is simply impossible in other static languages (e.g. C, C++, Java).
One of Python's philosophy is "duck typing", in which it has no strong typing system, making any objects, whatever it is, that "looks like a duck, acts like a duck, and quacks like a duck" must be a duck. Another philosophy is "Easier to Forgive than to Ask for Permission" (EFAP) in which, it prefers program to try doing something wrong an catch the errors rather than testing what type an object is (it prefers try..except..else block than if...elif...else block).
Improvements to the language has been steady throughout the years, although Python language was created and maintained by Guido van Rossum, which because of its single-man nature in deciding what to add and what to remove in Python is often jokingly called as a Benevolent Dictator For Life (BDFL) by people in forums and mailing lists.
The education required for this job could be minimal or even none. One could learn autodidactly and be very good in Python as the language is very easy to learn. But studying general Computer Science would be useful since you'll be taught about algorithms and such that would be useful in all programming languages and you might even be introduced to Python in these classes.
Jobs that requires this language would be a lot in the future. As computers become more powerful, the considerations for overhead because it's an interpreted language decreases significantly. And the power of the language, the expressiveness of a language would be the most important factor on choosing languages.