Below are a number of Python-related books that I've found useful. No links are included as things move around - Google is your friend.

Beginner

Python 3 Object Oriented Programming - Dusty Philips (Not Free) - A good starting point for beginners to Python and who may not have much or any object oriented programming experience

Dive Into Python - Mark Pilgrim (Free) - An excellent intro to Python and it's free! Good on you Mark.....

Learn Python the Hard Way - (Sort of Free) - The book is available as HTML pages on the authors website, but if you want the hard-copy or PDF then you can buy from several places listed on the authors website. The author drives you hard to enter and run all the exercises yourself. He's tough but once you've finished you should find the content 'sticks' much more than just reading or tinkering.

Data Wrangling with Python - Katharine Jarmul - An excellent introduction to getting data from the web, cleaning and analysing. Covers a lot of ground simply, and with useful 'further reading options'

Upper-Beginner

Writing Idiomatic Python - Jeff Knupp (Not Free) - Once you've got some of the basics then you might as well learn how to do things properly. The author details how you might write code in another language (e.g. C) and how that approach should be done in a Pythonic manner.

The Little Book of Python Anti-patterns (Free) - How NOT to write Python - good companion for the Jeff Knupp book above

Effective Python: 59 Specific Ways to Write Better Python - Excellent book on how to ermmm write better Python. My personal favourite.

Mastering PyCharm - Quazi Nafiul Islam (Not Free) - Once you get to the point of wanting to write a 'proper' program, you'll need some sort of development environment (see my other blog post on Python Development Tools. PyCharm is a great choice if you're happy to pay for it, and this is a great book on how to best use what can be a daunting product when first used.

Intermediate

Python Cookbook - David Beazely (Not Free) - An comprehensive reference of algorithms and how to implement them in Python. Perhaps better dipped into when you need to rather than an end-to-end read.

Intermediate to Advanced

The Elements of Statistical Learning - Trevor Hastie - The bible of machine learning according to many

Web Development Frameworks

Flask Web Development: Developing Web Application with Flask - Miguel Grinberg - The bible for the Flask framework, but very accessible.

Django Unleashed - Andrew Pinkham - An excellent reference to the Django framework.

High Performance Django - Peter Baumgartner - A more advanced book on tuning Django - lots of very practical advice for those running websites where performance is a concern.

Two Scoops of Django - Daniel Roy Greenfeld, Audrey Roy - A definitive book on how to approach Django project the right way - best read after you know a bit of Django already, but not too much that you have a fully established way of working


Comments

comments powered by Disqus