Firstly, welcome to the ranch . I have a query here. There are a lot of books on python out in market. Each has their own style and infact I wanted to start on Python and have googled about the same as well. And obviously I got mixed responses reg. which book has to be followed. Finally I took one from the library which has basic concepts but I think it is not yet up to the mark [ I might be wrong here as I'm newbie to Python ].
So, my question stands simple..how different is this one compared to couple of other books available in the market currently...especially for a newbie .
I think there a few things that distinguish Think Python from other Python books:
1) It is aimed at people with no programming experience, so I am careful to explain every concept we use (and avoid introducing concepts we don't need).
2) It is short. By staying focused, and constantly cutting what is not needed, I kept the book at a size my students can read in one semester.
3) From decades of teaching, I know which concepts are likely to trip people up. I have taken the most challenging ideas and split them into a series of manageable steps. Two examples: we start with functions that have no return value before moving on to "fruitful" functions. And I introduce object-oriented programming gradually, starting with functions and transitioning to methods.
I hear from a lot of readers who say they have tried and failed with other books, and then succeeded with mine. I think that is partly because I get so much feedback from my students and from readers.
(Now, in honesty, there is no book that is right for everyone, so it is possible that I am not hearing from the people who failed with my book and then succeeded with another.)
Thanks for that great answer, but that leads me to a follow-up question:
After going through your book and getting comfortable coding in Python, would it make a good reference while working on a Python project?
That may seem a vague and/or redundant question, so I will clarify: I don't consider "Professional Apache Tomcat" from Wrox to be a good reference book. It's a good book to learn how to configure and run Tomcat from, but after you have gone through it, most of the things you want to quickly reference (like implementing SSL certificates) are found faster through Google than flipping back and forth through the pages. On the other hand, "jQuery in Action" from Manning is more of a reference book/guide where if it is on-hand, it will be faster to find direct examples than combing Google results.
So, I guess the core of the question is this: If I have your book on my desk and I am at my keyboard, and I come up with a syntax question (e.g. how to properly combine range and len in a loop), is it faster to flip through your book or hit Google?
"I do not feel obliged to believe that the same God who has endowed us with sense, reason, and intellect has intended us to forgo their use."
-- Galileo Galilei
In general, books that are best for learning might not be best for reference.
I tried to make Think Python work reasonably well as a reference; for example, I spent a lot of time on the index, so if you vaguely remember an example that you want to copy and modify, you should be able to find it quickly.
But the book really focuses on the most commonly-used subset of the language; it is deliberately NOT comprehensive.
So once you are comfortable with the basics, you will probably want a different book for reference or, more likely, web resources.