Think Python: How to Think Like a Computer Scientist
Allen B. Downey
This hands-on guide takes you through the language a step at a time, beginning with basic programming concepts before moving on to functions, recursion, data structures, and object-oriented design.