I highly recommend Beginning Python: From Novice to Professional to anyone looking to learn or improve their Python programming ability. I recommended this to a colleague who had a lot of programming knowledge (in old Microsoft QuickBasic, would you believe) but no experience of Java, C++, Python.
Within a few days he was comfortably doing difficult math calculations (he’s a physics researcher), plotting data, using all the intrinsic functions and editing using IDEs (so, my evangelical mission of conversion was accomplished). This book is only a few months old and is written for the latest major Python version – 2.4.
A few days later I noticed an odd thing – I found myself using the same book for reference. I’ve been using Python for 3 years, I’m a very strong programmer in various modern languages and I use Python in a Nutshell (aimed at Python 2.2) and the Cookbook (I think Python 2.2 as well, though there’s a 2005 edition now), and here I am using a ‘beginners’ manual.
And there’s the crunch – this is a powerful book – it addresses all the basic needs and then runs on through to complicated problems with worked examples, from web scraping, drawing, games, databases and more. In short, this book is brilliant and I probably ought to buy myself a copy. If you want to code in Python then I strongly recommend that you get this book.