Learnpython.org is an easy non-intimidating way to get introduced to Python.
The website takes the same approach used on the popular
Try Ruby website, it has an interactive Python
interpreter built into the site that allows you to go through the lessons
without having to install Python locally.

This beginner’s book is for those with no programming experience at all. Each
chapter has the source code to a small game, using these example programs
to demonstrate programming concepts to give the reader an idea of what
programs “look like”.

Think Python attempts to give an introduction to basic concepts in computer
science through the use of the Python language. The focus was to create a book
with plenty of exercises, minimal jargon and a section in each chapter devoted
to the subject of debugging.

While exploring the various features available in the Python language the
author weaves in various design patterns and best practices.

The book also includes several case studies which have the reader explore the
topics discussed in the book in greater detail by applying those topics to
real-world examples. Case studies include assignments in GUI and Markov
Analysis.

For those used to languages and figuring out puzzles on their own, this can be
a fun, attractive option. For those new to Python and programming, having an
additional resource or reference will be helpful.

A Codeacademy course for the absolute Python beginner. This free and interactive course provides and teaches the basics (and beyond) of Python programming whilst testing the user’s knowledge in between progress.

Expert Python Programming deals with best practices in programming Python and
is focused on the more advanced crowd.

It starts with topics like decorators (with caching, proxy, and context manager
case-studies), method resolution order, using super() and meta-programming, and
general PEP 8 best practices.

It has a detailed, multi-chapter case study on writing and releasing a package
and eventually an application, including a chapter on using zc.buildout. Later
chapters detail best practices such as writing documentation, test-driven
development, version control, optimization and profiling.

This is a collection of blog posts by Rafe Kettler which explain ‘magic methods’
in Python. Magic methods are surrounded by double underscores (i.e. __init__)
and can make classes and objects behave in different and magical ways.

A Primer on Scientific Programming with Python, written by Hans Petter
Langtangen, mainly covers Python’s usage in the scientific field. In the book,
examples are chosen from mathematics and the natural sciences.

Problem Solving with Algorithms and Data Structures covers a range of data
structures and algorithms. All concepts are illustrated with Python code along
with interactive samples that can be run directly in the browser.

Programming Collective Intelligence introduces a wide array of basic machine
learning and data mining methods. The exposition is not very mathematically
formal, but rather focuses on explaining the underlying intuition and shows
how to implement the algorithms in Python.

Python Cookbook, written by David Beazley and Brian K. Jones, is packed with
practical recipes. This book covers the core python language as well as tasks
common to a wide variety of application domains.

“Writing Idiomatic Python”, written by Jeff Knupp, contains the most common and
important Python idioms in a format that maximizes identification and
understanding. Each idiom is presented as a recommendation of a way to write
some commonly used piece of code, followed by an explanation of why the idiom
is important. It also contains two code samples for each idiom: the “Harmful”
way to write it and the “Idiomatic” way.