If you are new to Python you definitely want to start with Learning Python or some other introductory book. Once you are familiar with the basics Programming Python should be your next step. While the author repeatedly mentions that this is not a reference book I think you’ll find yourself referring to it frequently. The tutorial programs are not only excellent examples how to do something in Python, but also how to do it well.
This version of the book covers Python 3, the latest version of the language. Since Python 3 and Python 2 are not fully compatible this is a big change. If you are new, start with Python 3 and then only reach for Python 2 if the need arises (say a module or library that isn’t yet ported to v3). The examples in the book can, for the most part, be used with Python 2 with relatively minor changes.
At more than 1600 pages even the PDF is heavy. But it is well enough written that, as far as programming books go, this is a real page turner.
Full disclosure: If it wasn’t obvious I received a free PDF version of this book for free in exchange for writing this review. I’ve followed the review guidelines set by O’Reilly. Especially (and always) “First and foremost, we want nothing but complete honesty in your reviews”.