Dive into Python was one of the first Python books I read. It's filled with small (and Pythonic) tricks, has excellent examples and great explanations. I especially like the simple way it's written. It made Python click for me.
So let's say you have a CS background and want to pick up python today - is it worth it to read up on the 2.0 stuff or just go right for 3.0 seeing as 3.0 is "backwards incompatible"? Is there a mass exodus to 3.0 happening or are there going to be a lot of people (e.g. researchers in other disciplines whose life is only peripherally programming) who are going to stick with the 2.0 that they already know and love?
And is this (http://docs.python.org/3.0/) the best place to look for 3.0 learning material or is it better to do the Dive Into Python (for v2.0) thing then figure out the 3.0 differences?
I would suggest learning Python 2.x first. The v2 branch is not going away overnight, and you're going to pick up Python 3.0 fairly quick after you know 2.0, so you may as well learn the version you can use straight away (with frameworks, libraries etc.) and learn your way up to 3.0 proficiency from there.
Agreed, with the addendum that you should learn on Python version 2.6, which lets you import many of the features from 3.0 on a per-file basis to make the transition to 3.0 easier.
3.0 is not backwards compatible.
Whether to use 3.0 or 2.x depends upon the libraries you want to use. Some library writers are holding off the migration to 3.x until 3.0 is included as default in the popular linux distros.
There is a thread on Reddit where Mark Pilgram states that the final manuscript is due in June. He also states that if you have any suggestions/feedback, you should speak up.
Sure, there's no text yet, but I have high hopes. Given that one of the aims of Python 3 was to remove more confusing and unnecessary features in lieu of better-designed alternatives, teaching Python 3 from the start seems like a really good idea.
I'd love to know if there are any good completed online books about python. I'm oddly new at programming (being a mere IT consultant for about 6 years now and finally deciding to concentrate on something) and I'm loving it a lot. I've learned a fair amount of php, taught myself objects, mvc, a couple different sqls (tsql, mysql), and a few different php frameworks.
I keep trying out other languages (I liked python's intro) but when it comes time to making something I fall back into php because I know it very well. I feel almost stuck. Like a need a python project. =p
It is due to be published by Cambridge University Press under the title Python for Software Design. The link above is for the same content, available for free.