I've used a few books so far:
Thinking like a computer scientist -
http://www.openbookproject.net/thinkcs/python/english2e/O'reilly - Python in a Nutshell
and some very specific engineering texts:
Matplotlib for Python Developers
Python Scripting for Computational Science
For me, the best book is the one that will get you coding, trying code, you know poking Python with a stick kind of stuff. As I've said before, I find I learn a language best when I actually use it. So far, all of the books I've tried have been successful in that regards. IMHO that is one of Python's inherent advantages.