Short answer: In most places you would otherwise use Perl, Ruby, C, C++, or Java. It's not as fast as C or OCaml (except in programs which are almost entirely calls to libraries, e.g. string-heavy stuff), but you can rewrite the hotspots in C later (if you ever actually need to), and the overall development time will be much shorter. Even if you never use it for anything else, Python is an excellent prototyping language.