Python 2.0 was released on 16 October 2000, and included many major new features including a full garbage collector and support for Unicode. With this release the development process was changed and became more transparent and community-backed.
Python 3.0 (also called Python 3000 or py3k), a major, backwards-incompatible release, was released on 3 December 2008 after a long period of testing. Many of its major features have been backported to the backwards-compatible Python 2.6 and 2.7.
|Python 2||Python 3|
|Permanently in maintenence||New features will get added|
|Modules are made to work with the Python 2.x.
(Some of the features are not portable to Python 3.x.)
|Modules are written for both 2 and 3
(most of the packages are backward compatible)
|Very limited 3rd party module support||Abundant 3rd party libraries|
|More Documentation to get started||You will become an early adopter if you start using it now.|
|Most of the machines comes with Python 2.7 installed. (Ubuntu & MAC)||You need to manually install Python 3.3|
|Django users will recommend Python 2.x.||Django now "experimentally" supports Python 3.2|
Your main goal should be just to learn Python. Be it 2.7 or 3.3. Once you get a command over the language, understanding both versions will be a matter of time.
It doesn’t really matter whether you use Python 2.7 or Python 3 If you do not use old features in Python 2.7, you can just 2to3 your code to make it run on Python 3.
I would recommend learning Python 3.x if you are a beginner.