Think Python: How to Think Like a Computer Scientist

by: Allen Downey (0)

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

The Reviews

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.

Great starter book with a refresher of object oriented-programming C++I will be ordering the 2nd edition by thr same author.

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.

Good for beginners but not suitable for others.

When this book arrived, I turned to the chapter entitled "Files" and saw that reading text files had already been introduced and this chapter would discuss writing text files and databases for the purpose of storing data created by a program so that it can pick up later where it left off.This sounds like a sadly limited description of the capabilities of such a flexible and powerful language. Or does Python really live in its own little world?I'm an old geezer in a hurry, looking for a computer language that will read existing binary files whose unicode names are provided from the Windows command line. It doesn't sound like much to ask, but every computer language I know has one or another problem doing it. Dare I hope that Python can be cajoled into meeting these simple requirements, and I can learn how by buying another book, or should I look for another language?

With a thousand free Python tutorials available online, you don't really need to spend a chunk of change on a programming text book. That being said, I purchased this book for a Python class I took in university. I definitely enjoyed it, it is well written and very helpful.

The good:This is a wonderfully written book. Having programed for several decades, I was surprised by how much I enjoyed a introductory programing book. This book blends in concepts of how to solve problems while introducing python. The progression of python was done excellently with non-trivial insightful examples.The bad:I only gripe I have about my current copy of the book is that there were several pages missing! The 4 star is for these missing pages. Otherwise, this product deserves a 5 star for what it accomplishes.The temporary fix:As others have noted, this book is available online and I was able to read the missing pages there!

really nice cards, maybe a tad bit too thick but I was so over skinny dinky flash cards that I decided to go one higher on the thickness. Cards are really nice are good price as well.

Think Python: How to Think Like a Computer Scientist
⭐ 4.6 💛 480
kindle: $10.09
paperback: $21.06
Buy the Book