Learning a new language (human or computer) isn’t always easy. But it helps if you have a good teacher, who makes things fun as well as interesting to learn. Sometimes a good book can make things a lot easier. I’ve been wanting to learn Python for a good few months now and being the dedicated netizen that I am I turned to the Internet for tutorials and howtos. Though Python documenatation is fairly complete and quite usable if you are trying to teach yourself, it can be rather bland at times. Luckily for me, Beginning Python: From Novice to Professional from Apress came to my rescue.
Beginning Python is written by Magnus Lie Hetland, author of another Apress book, Practical Python and a number of well-written online tutorials which are available at his website. Beginning Python isn’t meant to teach you everything that there is to know about Python or programming. What it tries to do (and succeeds at) is to give you a good head-start from the basics upwards. The book covers a fair amount of matter, starting from the basics of writing simple, small programs to full-fledged GUI applications. Most importantly however, it does so in a pleasing, conversational style. Each chapter is fairly self-contained, dealing with a particular aspect of Python programming, which means that you can learn at your own pace and even skip a few chapters without too much difficulty. But what makes the book stand out from the crowd is that it not only gives a working knowledge of Python, it helps you figure out what to do with that knowledge. The book includes 10 programming projects including things like an XML converter, and internet messaging system, a file transfer program with a graphical frontend and even an interesting little game. Most chapters also come with a set of suggestions at the end about how you can apply what you’ve learned: a great way to keep yourself busy if you’re bored
While the book is called Beginning Python, there is some amount of more advanced information like network programming (including working with CGI and SQL), using GUI toolkits and other practical things like testing, debugging, optimizing and packaging programs. At the same time, it should be noted that the book does not intend to turn you into a complete master: the advanced material is enough to get you up and running, but do not cover the topics in great depth. All things considered, the book will probably be useful to you even after you have a fair mastery of the basics. It’s clean structure and good formatting allows it to be used as a quick reference as well as a textbook.
The book is definitely worth a buy if you’re interested in learning Python but have been keeping it off for want of a good resource. The $45 price tag is a bit steep, but it’s worth it for a book that will take you a long way and will probably still be useful even after a good few months.