Dive into Python 3 Review
Disclosure: I received a free review copy of Dive into Python 3 from Apress.
Unlike a ton of people I know in the Python world, my experience in learning Python didn’t include the original Dive into Python at all, in fact I didn’t encounter it until quite a while later when I was teaching a friend Python and I was looking for example exercises. Since Dive into Python is really a book for people who don’t know Python a lot of my views on it are based on how helpful I think it would have been while teaching my friend, since it’s pretty difficult to imagine myself not knowing Python as I do.
The first thing to note is that Mark Pilgrim has an absolutely brilliant writing style, even when I was reading about stuff I already knew it was an absolute pleasure. The next thing to note is that this book is squarely targeted at people who are already programmers who want to learn Python, I don’t think it would make a good “my first programming book”. Dive into Python 3 jumps into Python full steam ahead, it dives into Python’s datatypes, generators, unit testing, and interacting with the web.
The book is strongly example based, Mark does a great job of showing code and explaining it clearly. He also does a good job of emphasising best practices such as unit testing. It also covers some external libraries like httplib2, plus there’s stuff on porting your existing libraries to Python 3, and a great appendix.
For all these reasons I think Dive into Python 3 makes a good introduction to Python 3. But don’t take my word for it, Mark has made a point of releasing all of his books online, free of charge. So if you think you’re in the target audience (or even if you aren’t) check it out, it doesn’t cost you a dime, which Mark goes above and beyond the call of duty to ensure.