Buy used:
$38.44
FREE delivery February 24 - 28
Or fastest delivery February 23 - 25
Used: Good | Details
Sold by FindAnyBook
Condition: Used: Good
Access codes and supplements are not guaranteed with used items.
Kindle app logo image

Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.

Read instantly on your browser with Kindle for Web.

Using your mobile phone camera - scan the code below and download the Kindle app.

QR code to download the Kindle App

Follow the author

Something went wrong. Please try your request again later.

Think Python: How to Think Like a Computer Scientist 2nd Edition

4.6 4.6 out of 5 stars 605 ratings

There is a newer edition of this item:

If you want to learn how to program, working with Python is an excellent way to start. 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. This second edition and its supporting code have been updated for Python 3.

Through exercises in each chapter, you’ll try out programming concepts as you learn them. Think Python is ideal for students at the high school or college level, as well as self-learners, home-schooled students, and professionals who need to learn programming basics. Beginners just getting their feet wet will learn how to start with Python in a browser.

  • Start with the basics, including language syntax and semantics
  • Get a clear definition of each programming concept
  • Learn about values, variables, statements, functions, and data structures in a logical progression
  • Discover how to work with files and databases
  • Understand objects, methods, and object-oriented programming
  • Use debugging techniques to fix syntax, runtime, and semantic errors
  • Explore interface design, data structures, and GUI-based programs through case studies

From the brand

Editorial Reviews

About the Author

Allen Downey is a Professor of Computer Science at Olin College of Engineering. He has taught at Wellesley College, Colby College and U.C. Berkeley. He has a Ph.D. in Computer Science from U.C. Berkeley and Master's and Bachelor's degrees from MIT.

Product details

  • Publisher ‏ : ‎ O'Reilly Media; 2nd edition (December 28, 2015)
  • Language ‏ : ‎ English
  • Paperback ‏ : ‎ 292 pages
  • ISBN-10 ‏ : ‎ 1491939362
  • ISBN-13 ‏ : ‎ 978-1491939369
  • Item Weight ‏ : ‎ 1.04 pounds
  • Dimensions ‏ : ‎ 7.01 x 0.61 x 9.17 inches
  • Customer Reviews:
    4.6 4.6 out of 5 stars 605 ratings

About the author

Follow authors to get new release updates, plus improved recommendations.
Allen Downey
Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.

Allen Downey is a Professor Emeritus at Olin College and Principal Data Scientist at PyMC Labs. He is the author of several books related to programming and data science, including Probably Overthinking It, Think Python, Think Stats, and Think Bayes. The idea behind these books is that if you know how to program, you can use that skill to learn other things.

Allen has a Ph.D. from U.C. Berkeley and M.S. and B.S. degrees from MIT. He has taught at Olin College, Colby College and Wellesley College.

Customer reviews

4.6 out of 5 stars
605 global ratings

Review this product

Share your thoughts with other customers

Customers say

Customers find the book effective in teaching Python basics and programming methodology. They describe it as a great book for beginners to mid-level Python programmers. The book is well-written, concise, and organized. It offers good value for money with an online version that's free.

AI-generated from the text of customer reviews

37 customers mention "Python knowledge"37 positive0 negative

Customers find the book helpful for learning Python. They appreciate its pedagogical approach that focuses on understanding and provides simple explanations of how it works. The book is described as a great resource for beginners to mid-level Python users, with good exercises and a focus on understanding.

"Great book. Helped me through two CS classes. The pages are tattered from going through it, but I'm grateful that I bought it." Read more

"...What I noticed is that this book could be a good book for beginners, if you're not new to programming. There's nothing you cannot do...." Read more

"...It will definitely give the reader an indication about the language and its structure...." Read more

"...It was good as a supplement, but I do worry that it would not be sufficient for someone who was only using this book or someone who had not had a..." Read more

32 customers mention "Readability"30 positive2 negative

Customers find the book well-written and easy to understand. They appreciate the clear approach to teaching and presentation. However, some find the dialectic dense and not suitable for beginners.

"Great book. Helped me through two CS classes. The pages are tattered from going through it, but I'm grateful that I bought it." Read more

"...There's nothing you cannot do. It's a dense dialectic, and seems like it was intended to be read, not skimmed...." Read more

"...Overall, as a primer it's a great book. But be prepared to go deeper with other resources if you want to become even a good novice Python programmer." Read more

"I bought this book for one of my college courses. It's a really good book. It explains the coding well and uses good examples...." Read more

5 customers mention "Value for money"5 positive0 negative

Customers appreciate the book's value for money. They find it easy to understand, affordable, and there are some extra features like the online version that are free. However, some feel it should be cheaper overall.

"...It's well written, easy to understand, very affordable, and there are some extra resources available to you as well, which I found really..." Read more

"...Cards are really nice are good price as well." Read more

"The online version are free. It should be cheaper. But overall it is okay" Read more

"...st off....waaaaay cheaper than on campus. Second, does the job and fairly simple explanation of how python works." Read more

I think, therefore I am
5 out of 5 stars
I think, therefore I am
The change was subtle at first; flipping each page and reading each line, day after day. It was when I reached the 6th chapter that the evolution moved from metal to a physical realization. I prefer my sun drenched back porch to my cold office, my skin is segmented into hexagonal scales, and my wife loves the new fork in my tongue. Out of five dead mice, I give it a ten and that’s saying something because we are talking breakfast, lunch, and dinner for at least a week.
Thank you for your feedback
Sorry, there was an error
Sorry we couldn't load the review

Top reviews from the United States

  • Reviewed in the United States on September 24, 2024
    Great book. Helped me through two CS classes. The pages are tattered from going through it, but I'm grateful that I bought it.
  • Reviewed in the United States on December 8, 2022
    I liked that it seemed tailored to my needs where I'm at in my programming journey. I had previously read Python for Everybody and done most of the exercises there. The author of that book, Dr. Chuck, recommends this as a sequel to his book, for object-oriented practice, I believe, in the preface of P4E. Which is exactly what I'm getting out of it! What I noticed is that this book could be a good book for beginners, if you're not new to programming. There's nothing you cannot do. It's a dense dialectic, and seems like it was intended to be read, not skimmed. I haven't finished, so I don't know what a proper summary conclusion would be- as far as that didactic goes. Definitely has some insight, but I might have to study/take notes to remember.
    5 people found this helpful
    Report
  • Reviewed in the United States on April 3, 2021
    This is a fine book for someone who wants an introduction to Python programming. I think it is good for someone who is uncertain about what Python is all about. It will definitely give the reader an indication about the language and its structure.

    If you are looking to learn Python in-depth, this is not the book for you. However, if you want a survey of Python - what it can do, how it works (generally) - this is a good book.

    I like the easy-to-understand language used in this book. The author does not make any assumptions about prior programming knowledge.

    The book just scratches the surface of Python. It runs though a large number of topics, touching each with just enough to give the reader an understanding of the bigger picture. However, it doesn't do a deep dive on any topic in particular.

    Overall, as a primer it's a great book. But be prepared to go deeper with other resources if you want to become even a good novice Python programmer.
    10 people found this helpful
    Report
  • Reviewed in the United States on December 17, 2023
    I used this book as a supplement to a class I was taking in Python. It was good as a supplement, but I do worry that it would not be sufficient for someone who was only using this book or someone who had not had a bit of a background in doing some programming stuff. The exercises are also made for someone who has a decent understanding of math and personally I stopped trying the exercises after the first few chapters because of that, as well as having other problems that had been assigned to me for the course I was taking.
    2 people found this helpful
    Report
  • Reviewed in the United States on January 18, 2024
    I bought this book for one of my college courses. It's a really good book. It explains the coding well and uses good examples. Bought book new and received in great condition.
    One person found this helpful
    Report
  • Reviewed in the United States on February 12, 2019
    One of the best books I've read on programming so far. It's well written, easy to understand, very affordable, and there are some extra resources available to you as well, which I found really useful.
    The only caveat I would give is that this may not be the best choice for the math-averse, as many of the exercises involve dealing with math problems. I would not consider myself particularly mathematically inclined and can still get through them with some effort, and enjoy the challenge of learning something new and putting some long-unused brain cells to work, but it may be frustrating if you really hate math. There is always the option to skip exercises you don't like, of course.
    I definitely recommend this book to anyone interested in programming, or wanting to learn Python, beginners included. I had a little programming experience coming in, and breezed through the first few chapters, but the exercises quickly build in difficulty so even after a few chapters, I think all but quite experienced programmers will find some that are challenging and help you build proficiency in the language.
    23 people found this helpful
    Report
  • Reviewed in the United States on April 24, 2024
    This book was a lifesaver for my Python class! It really helped explain things in a clear way, but I wouldn't recommend starting here if you're a total beginner. It seemed like the book assumed you already knew some programming stuff.

    The exercises were cool, but way too math-heavy for me after a while. I got slammed with other classwork too, so I ended up skipping most of them after the first few chapters. Still, a great book for brushing up on Python!
    3 people found this helpful
    Report
  • Reviewed in the United States on September 23, 2022
    Very effectively teaches the basics of Python and programming methodology. I don't think I've read a better book for coding novices. If you work through this book fully, including the exercises, you can go from zero to being a decent programmer very quickly.
    3 people found this helpful
    Report

Top reviews from other countries

  • skylon
    5.0 out of 5 stars A tiny but powerful reference book.
    Reviewed in Canada on August 25, 2020
    Liked the packaging and the shape of the product.
    Though I had been working with Python for a while now, I wanted a book that explained what works and why, when it comes to Python;
    When following any online tutorial or solutions online , most times I noticed that - essentially although their way of working the syntax worked but none seemed to know or explain why. So, to that end - this book does the job really well.
  • Howar Stugard
    5.0 out of 5 stars Good book
    Reviewed in Italy on July 31, 2021
    Item was as advertised.
  • apnkpp
    4.0 out of 5 stars A good book.
    Reviewed in Mexico on November 29, 2018
    This book cover all basics of the python programming language as it attempts to develop good programming practices and skills. It is a good book to be used as reference but if you have some experience with the language and want to take your skills to a different level then you need another book.
  • Joel Aumedes
    5.0 out of 5 stars Very good book to get started
    Reviewed in Spain on November 7, 2019
    Very well explained and organized
  • rachelbee14
    5.0 out of 5 stars The book you didn't think you needed
    Reviewed in Germany on January 24, 2019
    For anyone not coming from a programming background this book is a lifesaver. The author explains concepts clearly and it is truly a joy to read