Best Python Books 2017

http://tippytoptech.com/2017/04/best-python-books-2017/

With the coming infusion of AI and Machine Learning in our everyday lives and the high demand (not to mention, salary) for programmers, now could not possibly be a better time for you to jump in and learn the Python programming language.

Need some help figuring out how to get started with Python?

Below are some of our Top Recommended Python coding books for both beginners looking for a good place to start, as well as experienced Python programmers looking to brush up their skills and improve their python development abilities.

Python Book Guide Sections

  1. List of Best Python Books
  2. Book Details (includes pros/cons)
  3. Considerations when buying a book to learn Python

 

List of the Best Python Programming Books

Please note that some of the books below are not intended for beginners. Be careful to select the appropriate one for your experience level and desired needs.

Best Python Books 2017
Book Author(s)
Head First Python

Paul Barry Check Price
Python Programming for the Absolute Beginner

Micahel Dawson Check Price
How to Think Like a Computer Scientist: Learning with Python

Allen B. Downey

Jeffrey Elkner

Chris Meyers

Check Price
Learning Python

Mark Lutz Check Price
Fluent Python

Luciano Ramalho Check Price
Python Crash Course

Eric Matthes Check Price
Automate the Boring Stuff with Python

Al Sweigart Check Price
Python Cookbook David Beazley

Brian K. Jones

Check Price
Python Pocket Reference Mark Lutz Check Price
Python for Everybody: Exploring Data in Python 3 Charles Severance Check Price
Python Essential Reference David Beazley Check Price
Python Playground: Geeky Projects for the Curious Programmer Mahesh Venkitachalam Check Price
Python: The Ultimate Beginners Guide: Start Coding Today Steve Tale Check Price
Python 3 Object-Oriented Programming Dusty Phillips Check Price
Artificial Intelligence with Python Prateek Joshi Check Price
Python Machine Learning Sebastian Raschka Check Price
Python Machine Learning Blueprints: Intuitive data projects you can relate to Alexander T. Combs Check Price
Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython Wes McKinney Check Price

Head First Python

Paul Barry

The Head First series of books presents all their topics in a visual rich format, great for anyone dreading the monotony of a detailed text book. Head First Python covers everything a beginner learning Python needs to get started. From Python fundamentals, persistence, exceptions, web development, SQLite, and the Google App Engine.
Head First Python Pros & Cons
PROS
  • Unique Presentation
CONS
  • Some parts may be outdated (published in 2010)

About the Author

Paul Barry

  • M.S. Computer Science
  • Professional programmer over 25 years
  • Contributing Editor to Linux Journal Magazine

Python Programming for the Absolute Beginner

Python Programming for the Absolute Beginner Pros & Cons
PROS
  • Very Clear Writing
  • Well explained examples
CONS
  • Overall chapter organization somewhat incoherent
  • Sample code can be difficult to find online

About the AuthorMichael Dawson

  • Former Programmer / Game Designer & Producer
  • Author of 4 books
  • Teaches Game Programming at Los Angeles Film School

How to Think Like a Computer Scientist: Learning with Python

How to Think Like a Computer Scientist uses the Python programming language to provide readers with an introduction to computer science in general. It covers programming basics such as variables, functions, conditions, control flow, development, and debugging. It also goes into some detail for data structures and algorithms.

How to Think Like a Computer Scientist Pros & Cons
PROS
  • Helps teach basic programming fundamentals
  • Easy and clear to understand
  • Good examples for readers to try
CONS
  • More focused on general programming, rather than Python specifically

Readers Say:

“Excellent book for Beginners!”
“…great for learning Python…”
“…great first introduction to programming”

About the Author

Allen B Downey

  • Professor of Computer Science, Olin College of Engineering
  • Former Visiting Scientist, Google Inc.
  • Ph.D. Computer Science, Berkeley
  • MS & BS degrees, M.I.T

Jeffrey Elkner

  • High school Math Teacher, Yorktown High School

Chris Meyers

  • Professional programmer
  • Teaches a Python class at Lane Community College

 


Learning Python

Mark Lutz

Learning Python’s author, Mark Lutz is considered the world leader in Python training. This book is based on his popular training course. It includes exercises, quizzes, illustrations, and info for both Python 2.7 and 3.3.

Learning Python Pros & Cons
PROS
  • Author extremely dedicated and renowned Python Educator
  • Well written with clear explanations of concepts
CONS
  • 1600 Pages (Don’t be scared!)
  • Can be too detailed at times

Readers Say:

“…the book that got me going!”

“…worth the investment and time…”

“…one of the best books I found…”

 

About the Author

Mark Lutz

  • World leader in Python training
  • Pioneering figure in Python community
  • Author of Python’s earliest & best-selling books
  • Sold over 400,000 Python books in over 12 languages
  • BS & MS degrees in Computer Science, University of Wisconsin

 


Fluent Python: Clear, Concise, and Effective Programming

Luciano Ramalho

Learn how to become more proficient in Python 3. In Fluent Python, author Luciano Ramalho will take you deeper into the Python language and help show you how to use some of its best and sometimes most neglected features. Become a more effective Python programmer while writing shorter and cleaner code.

Fluent Python Pros & Cons
PROS
  • Covers wide variety of topics
  • Clear and in-depth information
CONS
  • Not intended for beginners

Readers Say:

“I highly recommend this book”

“Upgrade your Python!”

“An excellent book on coding in Python”

 

About the Author

Luciano Ramalho

  • Web Developer for over 20 years
  • Programming Python since 1998
  • Taught Python in Brazilian Media, Banking, and Government Sectors
  • Member, Python Software Foundation
  • Cofounder, Garoa Hacker Clube

Python Crash Course

Eric Matthes

Experience Level: Beginners

This book serves as a fast paced but comprehensive introduction to Python. The first half of Python Crash Course covers basic programming concepts like lists, loops, dictionaries, and classes. Each item comes with sample exercises for you to practice.

The second section of the book builds upon the foundation established in the first section and has you work to complete 3 large projects: A ‘Space Invaders’ style arcade game, a deployable web application, and a data visualization project using Python’s helpful libraries.

 

Python Crash Course Pros & Cons
PROS
  • Covers general programming concepts in addition to Python
CONS
  • Code samples may be difficult to read on devices (Buy a hard copy of the book, or better yet- download the sample code from Matthes’ Github repository)

Readers Say:

“Excellent Beginner Manual”

“Wow…amazing intro to Python”

“Five Stars”

About the Author

Eric Matthes

  • High School Math & Science Teacher
  • Lives in Alaska
  • Has been writing programs since the age of 5

 


Automate the Boring Stuff with Python: Practical Programming for Total Beginners

Al Sweigart

Experience Level: Beginners

This book is perfect for people who have spent countless hours performing repetitive tasks in spreadsheets or in their computer’s file and folder system. (Renaming files/folders, updating spreadsheet records for 100+ cells).

Yea, if you’ve ever experienced the frustration of doing such tasks by hand and have similar work in your future, Automate the Boring Stuff with Python is definitely the book for you!

In this book, author Al Sweigart will show even a beginner the python basics they need to know in order to do such computer tasks as:

  • Search for text in a file
  • Search for text across multiple files
  • Create, update, move, and rename folders and files
  • Search the internet and download needed content
  • Watermark, encrypt, split, and merge PDF documents
  • Send reminder emails
  • Send text notifications
  • Fill out and submit online forms

Clear instructions are provided for each task, along with practice problems as the end of each section. Even if you are completely new to programming and have never written a single line of code, this book can help make your life easier.

Automate the Boring Stuff with Python Pros & Cons
PROS
  • Provides a practical approach to learning Python
  • Presented with a humorous writing style
CONS
  • Some code samples may be outdated depending on your version of Python. However, the book has recently been reprinted to address these issues. (We recommend that you buy a new copy of the book or a recently published used copy)

Readers say:

“Author does a fantastic job”

“Great book”

“Ideal for Beginners”

TippyTopTech Tip (Free book)For those who don’t mind reading from a screen, a version of this book is available online for free!

Go to automatetheboringstuff.com to read the book for free!

About the Author

Al Sweigart

  • Software Developer
  • Teaches programming to kids and adults
  • Author of several Python programming books

 


Python Cookbook

David Beazley & Brian K. Jones

Experience Level: Intermediate – Advanced

Python Cookbook is targeted to experienced Python developers who are interested in updating older versions of Python or learn about the latest tools to improve their code. A wide range of topics are covered in this book, each with sample code and discussion as to why the solution works.

Topics include:

  • Data Structures / Algorithms
  • Numbers, Times, and Dates
  • Iterators and Generators
  • File system
  • Data Encoding
  • Functions, Classes, and Objects
  • Metaprogramming
  • Modules and Packages
  • Web Programming
  • Concurrency
  • Utility Scripting
  • Debugging and Exceptions
  • C Extensions
Python Cookbook Pros & Cons
PROS
  • Well written
  • Covers a wide range of topics
  • Approaches problems from multiple angles to present a broad perspective of solutions
CONS
  • Font may be difficult to read on some electronic devices (We recommend buying a physical copy of the book to avoid this potential issue)

Readers say:

“Programming Pearls”

“Helpful at any level of Python”

“Wisdom – not just examples”

 

About the Author

David Beazley

  • Independent Software Developer
  • Creator of several popular open source packages for Python
  • Significant experience in C, C++, and assembly language

Brian K. Jones

  • System Administrator in Department of Computer Science, Princeton University

 


Python Pocket Reference: Python In Your Pocket (5th Edition)

Mark Lutz

Experience Level: Beginner – Advanced

The 5th Edition of Python Pocket Reference has been update for both Python 3.4 and 2.7. This book is intended as a general reference point for all levels of Python developers whether you have been coding for years or are just getting started.

Python Pocket Reference is a helpful tool to quickly lookup topics such as:

  • Object types (numbers, lists, dictionaries, etc)
  • Object Syntax
  • Functions and modules
  • Built-in functions, exceptions, and attributes
  • Special Operators
  • Command Line options and tools
  • Python idioms and hints
  • Python SQL Database API

 

Python Pocket Reference Pros & Cons
PROS
  • Includes short Python tutorial for beginners
CONS
  • Depending on your needs (and internet access…) using the internet for reference may be more efficient

About the Author

Mark Lutz

  • World leader in Python training
  • Pioneering figure in Python community
  • Author of Python’s earliest & best-selling books
  • Sold over 400,000 Python books in over 12 languages
  • BS & MS degrees in Computer Science, University of Wisconsin

 


Python for Everybody: Exploring Data in Python 3

Dr. Charles Russell Severance

Experience Level: Beginner

Python for Everybody introduces Python to beginners using the perspective of data. It is meant to show readers how Python can be used as a tool to solve data problems that go beyond the capabilities of a spreadsheet program.

Python for Everybody Pros & Cons
PROS
  • Simple and clear explanations
  • Relevant and amusing examples
  • Additional materials found at pythonlearn.com
CONS
  • (NONE)
TippyTopTech Tip (Free Book) This book is available for free at www.py4e.com

About the Author

Dr. Charles Russell Severance

  • Clinical Associate Professor, University of Michigan
  • Author of Several Programming Books
  • Site: www.dr-chuck.com

Python Essential Reference (4th Edition)

David Beazley

Experience Level: Intermediate – Advanced

Python Essential Reference is a comprehensive guide to the Python language. This book covers the core of the language as well as all the essential components. It covers a wide range of topics that are not available in the official Python documentation, as well as other advanced subjects.

Python Essential Reference has recently been updated to cover Python 3 as well as 2.6. The provided example code has been updated as well.

Python Essential Reference Pros & Cons
PROS
  • Wealth of information
  • Very accessible
  • Provides a summary of all Python modules
CONS
  • Not intended for beginners (but can be used by them for reference)

 

Readers Say:

“Two Books for the price of one”

“Superb book”

“Exceeded my expectations”

About the Author

David Beazley

  • Independent Software Developer
  • Creator of several popular open source packages for Python
  • Significant experience in C, C++, and assembly language

 

Python Playground: Geeky Projects for the Curious Programmer

Mahesh Venkitachalam

Experience Level: Intermediate

Python Playground is for programmers who have made it past the basics of Python and are ready to see what they can do with it. This book provides a variety of sample programming projects involving art, music, hardware interaction, Raspberry Pi, numpy, pygame, and more.

Python Playground will help you improve your Python skills while having fun at the same time.

Python Playground Pros & Cons
PROS
  • Presents many interesting ideas
  • Great explanations
  • Fun to read
CONS
  • Not intended for beginners
  • Requires installtion of non-native python extensions

About the Author

Mahesh Venkitachalam

  • Software Engineer
  • Over 2 decades of programming experience
  • Author of popular tech blog: electronut.in

 


Python: The Ultimate Beginners Guide: Start Coding Today

Steve Tale

Experience Level: Beginners

Python: The Ultimate Beginners Guide is meant to help readers stay ahead of the times by teaching beginners the basics of Python.

Python: The Ultimate Beginners Guide Pros & Cons
PROS
  • Good for beginners
  • Many screenshot examples
  • Provides short quizzes to test your knowledge
CONS
  • Not written for current version of Python language

 

About the Author

Steve Tale

  • author of many programming books

 


Python 3 Object-Oriented Programming – Second Edition

Dusty Phillips

Experience Level: Intermediate – Advanced, not for beginners

This book focuses on teaching Object Oriented programming within the Python language to developers who already know programming basics. Object Oriented programming will help those who decide to use it to make more sophisticated and better organized programs.

Topics include:

  • Classes, Methods & Objects
  • Class Inheritance
  • Class Extension
  • When and when not to use OOP
  • Design Patterns
  • Unit Testing
  • Concurrency Techniques
  • Kivy & Django
  • Asyncio
Python 3 Object-Oriented Programming Pros & Cons
PROS
  • Great resource for object-oriented python programming
  • Provides good examples and case studies
CONS
  • Kindle version is difficult to work with

 

About the Author

Dusty Phillips

 


Artificial Intelligence with Python

Prateek Joshi

Experience Level: Intermediate – Advanced, not for beginners

Artificial Intelligence with Python uses simple yet helpful examples to introduce experienced Python users to the world of AI.

Topics Include:

  • Algorithms
  • Classification & Regression Techniques
  • Heuristic Search
  • Genetic Programming
  • Reinforcement learning
  • Deep Learning Algorithms

About the Author

Prateek Joshi

  • Author of several books
  • Founder, Pluto AI
  • TedX Speaker
  • Author, popular tech blog: www.prateekjoshi.com
  • Masters Degree in Artificial Intelligence

Python Machine Learning

Sebastian Raschka

Experience Level: Experienced programmers, not for beginners

This book provides a practical method to understanding machine learning in Python. It will guide you through a variety of Python’s machine learning libraries and a wide set of statistical models.

Topics Include:

  • Machine learning models
  • Neural Networks
  • Optimizing Algorithms
  • Regression Analysis
  • Data Clustering & hidden patterns
  • Data pre-processing
  • Sentiment Analysis for textual and social media data
Python Machine Learning Pros & Cons
PROS
  • Great starting point for gaining an understanding of machine learning
CONS
  • Kindle version not recommended (buy a physical copy)

About the Author

Sebastian Raschka

Experience Level: Experienced programmers, not for beginners

  • Ph.D. Candidate, Michigan State University
  • Many years of Python coding experience
  • Actively contributes to open Source Projects

Python Machine Learning Blueprints: Intuitive data projects you can relate to Paperback

Alexander T. Combs

Python Machine Learning Blueprints will help you to use machine learning in Python to address real world problems. Python has a large variety of machine learning libraries and frameworks. This book will help you get a better understanding of them, as well as cleaning and visualizing your data.

Chapter Preview:

  1. The Python Machine Learning Ecosystem
  2. Build an App to Find Underpriced Apartments
  3. Build an App to Find Cheap Airfares
  4. Forecast the IPO Market using Logistic Regression
  5. Create a Custom Newsfeed
  6. Predict whether Your Content Will Go Viral
  7. Forecast the Stock Market with Machine Learning
  8. Build an Image Similarity Engine
  9. Build a Chatbot
  10. Build a Recommendation Engine

About the Author

Alexander T. Combs

  • Experienced data scientist, strategist, and developer
  • Background in financial data extraction, natural language processing, and quantitative and statistical modeling
  • Full time lead instructor for data science program in NYC

Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython 1st Edition

Wes McKinney

Experience Level: Not for beginners

Python for Data Analysis Pros & Cons
PROS
  • Contains a lot of useful information
  • Author has a large depth of knowledge
CONS
  • Book is primarily focused on using Pandas
  • Some portions may be outdated (printed in 2012)

About the Author

Wes McKinney

  • Main author of Pandas, a popular open source Python library for data analysis
  • Active in Python and open source communities
  • Founder, DataPad a data analytics company
  • S.B. in Mathematics from MIT

Considerations when buying a book to learn Python

Programming Experience Level

If you are approaching Python programming with experience from another language, then you are probably alright to ignore this consideration unless you want to brush up your general programming abilities. Some of the books mentioned in this list will go over general programming topics that aren’t necessarily specific to Python. Don’t be afraid to jump right in and give it a try.

Python Experience Level (Beginner, Intermediate, Advanced)

Some books are intended for experienced or in some cases, even advanced Python users. Make sure your not getting ahead of your abilities. (Unless you need the inspiration!)

Python versions

This refers to the version of the Python programming language you are working with. Be sure to determine this before purchasing the book to ensure you will be instructed in the correct one. As of this writing (4/2017) the current stable version of Python is 3.3

Book Medium (Physical, digital)

Some people such as myself absolutely love to have a copy of a physical book in hand. Others prefer a digital copy. If purchasing a digital copy of the book, you should check the user reviews first to ensure that the code samples are displayed correctly or that a backup sample of the code is available online to download.

Leave a Reply

Your email address will not be published.

three × 1 =