python 2.6 or python 3.1?
- If you're looking to develop software right now stick with Python 2.6.
- If you're looking to learn the language and experiment go with Python 3.1.
Python 3.1 doesn't have the same library support (yet!) as Python 2.6, so you'll encounter difficulties working with existing software projects. If you're not pressed to produce a working product at this very moment, I'd suggest trying out Python 3.1. And there is no better place to start than Dive Into Python 3, as has been mentioned by Clint. Good luck!
UPDATE 2011-2-27: I'd say that support for Python 3 is improving constantly and you might want to check and see if your project can't be done with Python 3. There's a website devoted to tracking support for Python 3: http://getpython3.net/
I would go with 2.6 for a couple of reasons.
There's so much more material (books, examples, etc) based on 2.6. Some things might not work under 3.x, and you'll be able to get some good second-hand deals on 2.4-6 books.
The majority of libraries you'll want to pull in are still aimed at 2.6. This will change in time, but 2.6 support won't vanish overnight. Far from it. Linux distributions (that have a lot tied into python) aren't planning to move on for at least another year, so you're safe!
You really want to stick with the later version. Python 2.6 and the rest of the 2.x versions that come out are really for compatibility. However, this is not true if you want to use a framework like Django right away because it is incompatible with the 3.x series at the moment.
A tip for learning Python? Just start using it and find online documentation for it. I feel it's an easy (and awesome) language to pick up.