The best python books

7 authors have picked their favorite books about python and why they recommend each book.

Soon, you will be able to filter by genre, age group, and more. Sign up here to follow our story as we build a better way to explore books.

Shepherd is reader supported. When you buy through links on our website, we may earn an affiliate commission (learn more).

Python Testing with Pytest

By Brian Okken,

Book cover of Python Testing with Pytest: Simple, Rapid, Effective, and Scalable

While this is a Python-specific book, it’s a fantastic description of all the possibilities for testing with a powerful module like Pytest offers. Testing is one of the basic experiences for a programmer, as it should be included as a core part of the development process. Understanding all the different options available like mark groups of tests, parametric tests, building your own extensions, or test coverage, to name only a few details, expands the understanding of how to design better tests and run them more efficiently.


Who am I?

Since I was a kid, I’ve been passionate about technology and had a clear vocation to work with computers. I’ve been a developer for more than 20 years now, spending half of them mainly in the Python environment, and I’ve always been interested in improving my skills. While it’s true that software development is a field that changes constantly and technology evolves at great speed, there are some elements that remain relatively unchanged and can be used to compound knowledge and ability. In particular, the elements that are closer to the human element, teamwork, coordination, etc. are quite stable over time.


I wrote...

Python Automation Cookbook

By Jaime Buelta,

Book cover of Python Automation Cookbook

What is my book about?

Python Automation Cookbook is a collection of recipes that aim to present the power of the Python programming language as a way of making a computer do the heavy lifting in a lot of repetitive tasks. Some examples present in the book include dealing with files, creating graphs, working with emails, web scrapping, sending SMSs, or marketing examples.

Python is a great language because is easy to learn and to use, and at the same time is powerful and extensive, having a great community. While a bit of knowledge of Python is assumed, the book is aimed at non-experts and casual users that can learn how to automate their own tasks.

Fluent Python

By Luciano Ramalho,

Book cover of Fluent Python: Clear, Concise, and Effective Programming

Luciano’s book is one of the most complete discussions of the ins and outs of Python that I’ve seen. He is fascinated by coding in general and it comes across as he explores the ways Python is similar to (and different from) other language paradigms. This is the book I take out if I’m starting to dig in and explore a feature of Python, and if you want to understand the details beneath the details, this is the book for you. 


Who am I?

I’ve been teaching and writing Python code (and managing others while they write Python code) for over 20 years. After all that time Python is still my tool of choice, and many times Python is the key part of how I explore and think about problems. My experience as a teacher also has prompted me to dig in and look for the simplest way of understanding and explaining the elegant way that Python features fit together. 


I wrote...

The Quick Python Book

By Naomi R. Ceder,

Book cover of The Quick Python Book

What is my book about?

This third revision of Manning's popular The Quick Python Book offers a clear, crisp updated introduction to the elegant Python programming language and its famously easy-to-read syntax. Written for programmers new to Python, this latest edition includes new exercises throughout. It covers features common to other languages concisely, while introducing Python's comprehensive standard functions library and unique features in detail.

Python Distilled

By David Beazley,

Book cover of Python Distilled

Dave is the best teacher of programming and how programming languages (and Python specifically) work that I’ve ever met. He has a knack for making explanations of tough concepts seem clear, and he is very good at focusing on what’s essential to using a coding technique or structure and how to write good code. Like all of Dave’s books, the stuff in here just makes sense.


Who am I?

I’ve been teaching and writing Python code (and managing others while they write Python code) for over 20 years. After all that time Python is still my tool of choice, and many times Python is the key part of how I explore and think about problems. My experience as a teacher also has prompted me to dig in and look for the simplest way of understanding and explaining the elegant way that Python features fit together. 


I wrote...

The Quick Python Book

By Naomi R. Ceder,

Book cover of The Quick Python Book

What is my book about?

This third revision of Manning's popular The Quick Python Book offers a clear, crisp updated introduction to the elegant Python programming language and its famously easy-to-read syntax. Written for programmers new to Python, this latest edition includes new exercises throughout. It covers features common to other languages concisely, while introducing Python's comprehensive standard functions library and unique features in detail.

Cleaning Data for Effective Data Science

By David Mertz,

Book cover of Cleaning Data for Effective Data Science: Doing the other 80% of the work with Python, R, and command-line tools

I like this book not just because it’s a complete guide to the many ins and outs of data cleaning with Python, but also because David lays out the types of problems and the issues behind them. There are always trade-offs in data cleaning and this book lays out those trade-offs better than any other I’ve seen. This is one of the few books that as I go through it, I struggle to think of anything that could have been said better. 


Who am I?

I’ve been teaching and writing Python code (and managing others while they write Python code) for over 20 years. After all that time Python is still my tool of choice, and many times Python is the key part of how I explore and think about problems. My experience as a teacher also has prompted me to dig in and look for the simplest way of understanding and explaining the elegant way that Python features fit together. 


I wrote...

The Quick Python Book

By Naomi R. Ceder,

Book cover of The Quick Python Book

What is my book about?

This third revision of Manning's popular The Quick Python Book offers a clear, crisp updated introduction to the elegant Python programming language and its famously easy-to-read syntax. Written for programmers new to Python, this latest edition includes new exercises throughout. It covers features common to other languages concisely, while introducing Python's comprehensive standard functions library and unique features in detail.

Beyond the Basic Stuff with Python

By Al Sweigart,

Book cover of Beyond the Basic Stuff with Python: Best Practices for Writing Clean Code

Al is one of the clearest writers on Python that I know. Here he distills his experience as both a working software engineer and a successful author to take coders from advanced beginner/intermediate level on to all of the “extra” knowledge one needs to write good code for practical use. When I read this book I find myself wishing I could write with such simplicity.


Who am I?

I’ve been teaching and writing Python code (and managing others while they write Python code) for over 20 years. After all that time Python is still my tool of choice, and many times Python is the key part of how I explore and think about problems. My experience as a teacher also has prompted me to dig in and look for the simplest way of understanding and explaining the elegant way that Python features fit together. 


I wrote...

The Quick Python Book

By Naomi R. Ceder,

Book cover of The Quick Python Book

What is my book about?

This third revision of Manning's popular The Quick Python Book offers a clear, crisp updated introduction to the elegant Python programming language and its famously easy-to-read syntax. Written for programmers new to Python, this latest edition includes new exercises throughout. It covers features common to other languages concisely, while introducing Python's comprehensive standard functions library and unique features in detail.

Practices of the Python Pro

By Dane Hillard,

Book cover of Practices of the Python Pro

Dane covers the more advanced topics a programmer needs to be successful as a professional. In particular, he has good discussions of the basics of software design – things like separation of concerns, encapsulation, testing, and performance, as well as some of the issues involved with creating and maintaining large-scale systems. This is the book that I wish I’d had early in my coding career. 


Who am I?

I’ve been teaching and writing Python code (and managing others while they write Python code) for over 20 years. After all that time Python is still my tool of choice, and many times Python is the key part of how I explore and think about problems. My experience as a teacher also has prompted me to dig in and look for the simplest way of understanding and explaining the elegant way that Python features fit together. 


I wrote...

The Quick Python Book

By Naomi R. Ceder,

Book cover of The Quick Python Book

What is my book about?

This third revision of Manning's popular The Quick Python Book offers a clear, crisp updated introduction to the elegant Python programming language and its famously easy-to-read syntax. Written for programmers new to Python, this latest edition includes new exercises throughout. It covers features common to other languages concisely, while introducing Python's comprehensive standard functions library and unique features in detail.

Mission Python

By Sean McManus,

Book cover of Mission Python: Code a Space Adventure Game!

Learning how to program in Python and make a video game at the same time. Hmm – sounds like learning your native language while writing a novel. That could be messy. Could be – but not with this book. McManus knows video games. McManus knows how to teach. I love the idea of teaching a programming language through one extended context. If, like me, you’re fascinated by retro video games, get this book and let that fascination propel you through your beginning programming journey. Bonus feature: commitment to the bit; everything is in space!


Who am I?

Some programmers learn through online articles, videos, and blog posts. Not me. I need a throughline—a consistent, expert distillation of the material to take me from where I am to where I want to be. I am not good at patching together information from disparate sources. I need a great book. I have a PhD in computer science education, and I want to know what helps people learn. More importantly, I want to know how we can use such discoveries to write more effective books. The books I appreciate most are those that demonstrate not only mastery of the subject matter but also mastery of teaching.


I wrote...

Learn to Code by Solving Problems: A Python Programming Primer

By Daniel Zingaro,

Book cover of Learn to Code by Solving Problems: A Python Programming Primer

What is my book about?

You want your slippers to be fuzzy – not your grasp of Python programming. Build a rock solid Python programming foundation from an author who has built their career studying how students learn. Solve problems all the way through. Check your progress with Test Your Understanding questions. Practice solving new problems with full sample solutions. Wanna master Python power features like lists, dictionaries, and sets? Wanna know how to write code that’s fast? Wanna develop the skills that will help you become not only a Python expert but an expert in whatever programming language you want to learn next? It’s all here. Let’s roll!

Python for Everybody

By Charles R. Severance,

Book cover of Python for Everybody: Exploring Data in Python 3

Learning to program is hard. We need teachers who remember this, who are patient, who support the learning process, who not only know how to teach but also know how to learn from their teaching. Severance is all of these things. I like the breezy but precise writing, sections on debugging, glossaries and exercises in each chapter, and discussion of common learner errors. Bonus feature: regular expressions.


Who am I?

Some programmers learn through online articles, videos, and blog posts. Not me. I need a throughline—a consistent, expert distillation of the material to take me from where I am to where I want to be. I am not good at patching together information from disparate sources. I need a great book. I have a PhD in computer science education, and I want to know what helps people learn. More importantly, I want to know how we can use such discoveries to write more effective books. The books I appreciate most are those that demonstrate not only mastery of the subject matter but also mastery of teaching.


I wrote...

Learn to Code by Solving Problems: A Python Programming Primer

By Daniel Zingaro,

Book cover of Learn to Code by Solving Problems: A Python Programming Primer

What is my book about?

You want your slippers to be fuzzy – not your grasp of Python programming. Build a rock solid Python programming foundation from an author who has built their career studying how students learn. Solve problems all the way through. Check your progress with Test Your Understanding questions. Practice solving new problems with full sample solutions. Wanna master Python power features like lists, dictionaries, and sets? Wanna know how to write code that’s fast? Wanna develop the skills that will help you become not only a Python expert but an expert in whatever programming language you want to learn next? It’s all here. Let’s roll!

Hello World! A Complete Python-Based Computer Programming Tutorial with Fun Illustrations, Examples, and Hand-On Exercises.

By Warren Sande, Carter Sande,

Book cover of Hello World! A Complete Python-Based Computer Programming Tutorial with Fun Illustrations, Examples, and Hand-On Exercises.

I’m a kid at heart. (My favourite book genre is middle grade fiction.) Don’t be put off by a book with "kids" in the subtitle. And what an ebullient book this is! I unapologetically laugh at this book’s humour. I like the short chapters with measurable progress in each one; I like the easy GUI programming to get us started; I like the computational study of probability and randomness. I could quibble over the order that some topics are introduced, and some of the forward references… but, you know what? I won’t. This author duo gets it. Bonus feature: that sneaky way of introducing mutability in Chapter 2. Bonus feature #2: SkiFree.


Who am I?

Some programmers learn through online articles, videos, and blog posts. Not me. I need a throughline—a consistent, expert distillation of the material to take me from where I am to where I want to be. I am not good at patching together information from disparate sources. I need a great book. I have a PhD in computer science education, and I want to know what helps people learn. More importantly, I want to know how we can use such discoveries to write more effective books. The books I appreciate most are those that demonstrate not only mastery of the subject matter but also mastery of teaching.


I wrote...

Learn to Code by Solving Problems: A Python Programming Primer

By Daniel Zingaro,

Book cover of Learn to Code by Solving Problems: A Python Programming Primer

What is my book about?

You want your slippers to be fuzzy – not your grasp of Python programming. Build a rock solid Python programming foundation from an author who has built their career studying how students learn. Solve problems all the way through. Check your progress with Test Your Understanding questions. Practice solving new problems with full sample solutions. Wanna master Python power features like lists, dictionaries, and sets? Wanna know how to write code that’s fast? Wanna develop the skills that will help you become not only a Python expert but an expert in whatever programming language you want to learn next? It’s all here. Let’s roll!

Get Programming

By Ana Bell,

Book cover of Get Programming: Learn to Code with Python

Bell is an expert teacher. I like the order of topics; the breakdown of topics into units; the short, targeted lessons in each unit; the varied capstone projects to tie things together; the explicit learning goals; the structured approach to solving problems. The first bit of code that you’ll write is on page 30. Your first complete program is on page 60. What’s up with those first 59 pages, then? Motivation, comparisons to daily life, setup, and building blocks. Things that other authors tend to skip but that may be important for some learners. Bonus feature: “I try not to forget what it’s like to start learning to program from scratch, no matter how many times I teach the course.”


Who am I?

Some programmers learn through online articles, videos, and blog posts. Not me. I need a throughline—a consistent, expert distillation of the material to take me from where I am to where I want to be. I am not good at patching together information from disparate sources. I need a great book. I have a PhD in computer science education, and I want to know what helps people learn. More importantly, I want to know how we can use such discoveries to write more effective books. The books I appreciate most are those that demonstrate not only mastery of the subject matter but also mastery of teaching.


I wrote...

Learn to Code by Solving Problems: A Python Programming Primer

By Daniel Zingaro,

Book cover of Learn to Code by Solving Problems: A Python Programming Primer

What is my book about?

You want your slippers to be fuzzy – not your grasp of Python programming. Build a rock solid Python programming foundation from an author who has built their career studying how students learn. Solve problems all the way through. Check your progress with Test Your Understanding questions. Practice solving new problems with full sample solutions. Wanna master Python power features like lists, dictionaries, and sets? Wanna know how to write code that’s fast? Wanna develop the skills that will help you become not only a Python expert but an expert in whatever programming language you want to learn next? It’s all here. Let’s roll!

Or, view all 25 books about python

New book lists related to python

All book lists related to python

Bookshelves related to python