Some people learn better with a reference book in hand. Here are a few of my recommendations for books - some are specifically for learning Python and others are for learning programming in general. These book recommendations are on the resources for learners page as well.
The books here are rated from more beginner-skewed to more advanced as the list goes on. I’ve even added my own chili rating to each book!
|Automate the Boring Stuff with Python by Al Sweigart definitely has the best title in the business. The style of the book is about what Python can do for you - emphasis on Python tools that can analyze websites, make API calls, and generally automate boring stuff. The emphasis is on Python 3 and on tools like regular expressions and web requests. The explanations are thorough and step-by-step, getting harder through the book. For those looking to get motivated by the ways Python can help you on a daily basis without investing years of study, this is a book to take a look at. I also recommend the Automate the Boring Stuff Udemy course if you are more of a visual and auditory learner - it contains the same content in a video course format.|
|Learn Python The Hard Way by Zed Shaw is one of the most popular books about learning Python out there. The book goes through concepts important to Python one by one and in great detail. The book covers syntax from Python 2.7, but the concepts are not specific to just Python. Yes, it is called Learn Python the Hard Way, so the exercises and concepts are grouped together in an unconventional order. The emphasis is on diving in and exploring Python with some basic guidance. There is even a free version of the book online, if that suits you better!|
|Effective Python by Brett Slatkin is a more advanced book framed in the style of best practices. When you learn to code, you should learn the right way through a series of best practices that are widely used and generally applicable. The style is easy to read, and covers all the major areas of Python development and programming lifecycles. The code examples are helpful and informative as well.|
|Python Crash Course by Eric Matthes approaches learning and teaching Python with the same philosophy as I do - that learning by doing is strictly better than reading. He goes from basics to larger-scale projects like webapps with Python and Python frameworks. The material is well-explained, and gets harder as you get farther along in the book. But all the while, everything is explained in a way that is easy to digest.|
Another way to read books is by Downloading the free Kindle App to sync your progress from the computer to your phone.
If you have any favorites, let me know in the comments!