Media praise for Think Python

Have a blog? Join our Reader Review Program

"I highly recommend this text for a first course in Computer Science at both secondary and university levels. It is as its title suggests an introduction to Python for Thinkers."
-- Ira Laefsky,

"The author does an excellent job talking about the different systems and programs that are used in this career. This would also be a great textbook if your in school learning what your doing in the programming field."
-- Stephaine Szostak, cybertron reviews

""Think Python" introduces the programming beginners both into the language and in the computer science logic behind it. In this way, the book becomes perfect both for self-learners and for those who teach Python to programming beginners, as it introduces gradually all important programming basics concepts, such as debugging, stack diagrams, development plan, catching exceptions and helps readers in solving these tasks. "
-- Dr. Irina Temnikova,, Computational linguist

"This book is a quick and easy introduction to programming and to Python. It is among the clearest introductions to both topics that I have seen in a long time."
-- Andrew Binstock, Dr. Dobbs, Editor in Chief

"Pros: Concise, Well-written, Helpful examples, Easy to understand, Accurate Best Uses: Novice, Student Describe Yourself: Solution Architect Full Disclosure: I obtained a free copy of this book as part of the O'Reilly Blogger Review program. Allen B. Downey's recent release (from O'Reilly) - 'Think Python' is an excellent example of how an introductory programming book should be crafted. Clear, concise, entertaining, insightful, crisp, useful - these are some of the words that come to mind while reading this book. There is good coverage of some of the differences between Python 2 and 3. This is an excellent text for the novice programmer to learn Python - providing a general purpose overview of the language. The interested reader will find enough learning traction within this book to more easily proceed to more advanced texts. Programming concepts are gradually introduced, with successive layers of refinement adding further understanding of more complex programming concepts. At the end of each chapter are suggested exercises to further deepen the reader's grasp of the concepts just presented. The inclusion of links to codes samples and solutions at the site is a nice touch. While this book provides a very light overview of some essential software design concepts (Functions, Encapsulation, Generalization, Recursion, Inheritcance, Polymorphism), the reader of this book should plan to further enhance their understanding with supplemental books to cover deeper functional programming concepts as well as deeper understanding of class design and object oriented concepts. It is notable that although this book certainly fits into the classification category of introductory - the coverage includes an uncommon attention to such important matters as debugging and analysis of algorithms. As an additional bonus, Appendix C provides a discussion of Lumpy (" examine the state of a running program and generate object diagrams...and class diagrams) - which is included in the Swampy code discussed early in the book." Full Review >
-- Kelvin Meeks,

"The essential online python resourse updated!" Full Review >
-- Marc 137,

"Being an introduction to programming using the Python language this book strikes a good balance between explaining the programming theory and translating that into the Python Language." Full Review >
-- Andrew Colin Kissa,