I started writing about this at length yesterday, but gave up because I was rambling. I'll try to be more concise.
Python is used for programming. Every turing-complete (maybe I should say general purpose, due to a lack of infinite tape, but w/ virtual memory, local disk, network storage, and internet storage we have a practically infinite tape) language can accomplish the same task. The differences really come from:
Clarity of Syntax
Memory Management
Libraries available
APIs available
If you want to write a web server in python, you certainly can. If you want to write web application, it seems like there are already libraries/frameworks in place to make this easy. If you want to script things, have at it. Write a client side business application? Sure, as long as you can bind to the GUI underpinnings of the targeted OS.
One thing that seems to shape common uses of a language is whether the language is compiled or interpreted (or always compiled at runtime). Languages that are interpreted or compiled at runtime like Perl and Python seem to be very popular for scripting, possibly because of the write-compile-run-debug cycle having a step removed. This is of course not always the case. Where I work, we have a very large web-based application that uses Perl for the dynamic HTML generation and API layer.
The times when language really matter are when you must use a particular API for a particular task. You can always make wrappers, but you'll have to write some code to interface with the API that you then wrap in something else. An example is Objective-C, and the Cocoa API.
Good luck. I'm not familiar with Python but if you can, try to learn the basics before you dive headlong into Object-Orientation.
-Lee