The most recommended python books

Who picked these books? Meet our 16 experts.

16 authors created a book list connected to python, and here are their favorite python books.
Shepherd is reader supported. When you buy books, we may earn an affiliate commission.

What type of python book?

Loading...
Loading...

Book cover of Designing Secure Software: A Guide for Developers

Adam Shostack Author Of Threat Modeling: Designing for Security

From my list on application security for builders.

Who am I?

Being able to understand and change reality through our knowledge and skill is literal magic. We’re building systems with so many exciting and unexpected properties that can be exploited and repurposed for both good and evil. I want to keep some of that magic and help people engineer – build great systems that make people’s lives better. I’ve been securing (and breaking) systems, from operating rooms to spaceships, from banks to self-driving cars for over 25 years. The biggest lesson I’ve learned is that if security is not infused from the start, we’re forced to rely on what ought to be our last lines of defense. This list helps you infuse security into your systems.

Adam's book list on application security for builders

Adam Shostack Why did Adam love this book?

Loren’s been contributing to security for over 40 years, and this book captures his hard-won wisdom in a way that’s both humble and accessible. It scales from principles and design approaches to in-depth explanations of exactly how things go wrong and how to avoid those problems. (Also, I was honored to write the foreword.)

By Loren Kohnfelder,

Why should I read it?

1 author picked Designing Secure Software as one of their favorite books, and they share why you should read it.

What is this book about?

Designing Secure Software consolidates Loren Kohnfelder's more than twenty years of experience into a concise, elegant guide to improving the security of technology products. Written for a wide range of software professionals, it emphasizes building security into software design early and involving the entire team in the process. The book begins with a discussion of core concepts. The second part, perhaps this book's most important contribution, covers the process of designing and reviewing a software design with security considerations in mind. The final section details the most common coding flaws that create vulnerabilities, making copious use of code snippets written…


Book cover of The Pragmatic Programmer: Your Journey to Mastery

Chris Zimmerman Author Of The Rules of Programming: How to Write Better Code

From my list on programming for people who want to be good at it.

Who am I?

I’ve spent most of my life writing code—and too much of that life teaching new programmers how to write code like a professional. If it’s true that you only truly understand something after teaching it to someone else, then at this point I must really understand programming! Unfortunately, that understanding has not led to an endless stream of bug-free code, but it has led to some informed opinions on programming and books about programming.

Chris' book list on programming for people who want to be good at it

Chris Zimmerman Why did Chris love this book?

This book’s title is absolutely perfect! There’s no agenda here other than identifying things that will make you a more effective and productive programmer.

That leads to a book packed with solid advice, whether it’s about how to write code or how to think about your career. The authors are consultants, so there are plenty of clear and interesting examples drawn from many different problem domains. That’s super fun for someone like me who’s hyper-focused on a single kind of programming.

By David Thomas, Andrew Hunt,

Why should I read it?

4 authors picked The Pragmatic Programmer as one of their favorite books, and they share why you should read it.

What is this book about?

"One of the most significant books in my life." -Obie Fernandez, Author, The Rails Way

"Twenty years ago, the first edition of The Pragmatic Programmer completely changed the trajectory of my career. This new edition could do the same for yours." -Mike Cohn, Author of Succeeding with Agile , Agile Estimating and Planning , and User Stories Applied

". . . filled with practical advice, both technical and professional, that will serve you and your projects well for years to come." -Andrea Goulet, CEO, Corgibytes, Founder, LegacyCode.Rocks

". . . lightning does strike twice, and this book is proof." -VM…


Book cover of The Mythical Man-Month: Essays on Software Engineering

Paolo Perrotta Author Of Programming Machine Learning: From Coding to Deep Learning

From my list on classic software that are still worth reading.

Who am I?

You know what ages like milk? Programming books. I always cringe when someone glances at my programming bookshelf. Some of those books are so dated, they make me appear out of touch by association. Sometimes, I feel compelled to justify myself. “Yes, that's the first edition of Thinking in Java I keep it for nostalgic reasons, you know!” Yesterday’s software book is today’s fish and chip wrapper. However, there are exceptions. A few classics stay relevant for years, or even decades. This is a shortlist of software books that might be older than you, but are still very much worth reading.

Paolo's book list on classic software that are still worth reading

Paolo Perrotta Why did Paolo love this book?

In my consulting gigs, I come across plenty of clueless remarks. Here's a classic one: “We're falling behind schedule, so let's hire more coders.” Or a more recent gem: “We'll be ten times more productive if we generate code with AI.”

When I encounter such nonsense, I don't facepalm or cringe. Instead, I put on my poker face and drop a quote from The Mythical Man-Month.

In an industry where last year’s book is already outdated, Fred Brooks' collection of essays has been a guiding light for nearly half a century. His aphorisms have become legendary. “The bearing of a child takes nine months, no matter how many women are assigned.” “Adding manpower to a late software project makes it later.” “There is no silver bullet.” The list goes on and on.

John Carmack, one of the greatest programmers of our times, used to revisit this book every year or…

By Frederick P. Brooks Jr,

Why should I read it?

5 authors picked The Mythical Man-Month as one of their favorite books, and they share why you should read it.

What is this book about?

Few books on software project management have been as influential and timeless as The Mythical Man-Month. With a blend of software engineering facts and thought-provoking opinions, Fred Brooks offers insight for anyone managing complex projects. These essays draw from his experience as project manager for the IBM System/360 computer family and then for OS/360, its massive software system. Now, 20 years after the initial publication of his book, Brooks has revisited his original ideas and added new thoughts and advice, both for readers already familiar with his work and for readers discovering it for the first time.



The added chapters…


Book cover of Deep Learning for Coders with Fastai and Pytorch: AI Applications Without a PhD

Jakub Langr Author Of GANs in Action: Deep Learning with Generative Adversarial Networks

From my list on applied deep learning.

Who am I?

I’ve been working in machine learning for about a decade. I’ve always been more interested in applied than theoretical problems and while blogs and MOOCs (Massive Online Open Courses) are a great way to learn, for certain deep topics only a book would do. I also teach at University of Oxford, University of Birmingham, and various FTSE100 companies. My machine learning has exposed me to many fascinating problems—from leading my own ML-focused startup through Y Combinator—to working at various companies as a consultant. I think there is currently no great curriculum for the practitioners really wanting to apply deep learning in practical cases, so I have given it my best shot.

Jakub's book list on applied deep learning

Jakub Langr Why did Jakub love this book?

Jeremy Howard is the lead author and has always been a world-class educator. This book is based on his fast.ai course, which has managed to splice all rigor, simplicity, and cutting edge techniques into one course. It also uses its custom fast.ai framework built on PyTorch, which is the dominant language for researchers. This book is very practically oriented and gets you off the ground very quickly with your own projects!

By Jeremy Howard, Sylvain Gugger,

Why should I read it?

2 authors picked Deep Learning for Coders with Fastai and Pytorch as one of their favorite books, and they share why you should read it.

What is this book about?

Deep learning is often viewed as the exclusive domain of math PhDs and big tech companies. But as this hands-on guide demonstrates, programmers comfortable with Python can achieve impressive results in deep learning with little math background, small amounts of data, and minimal code. How? With fastai, the first library to provide a consistent interface to the most frequently used deep learning applications.

Authors Jeremy Howard and Sylvain Gugger, the creators of fastai, show you how to train a model on a wide range of tasks using fastai and PyTorch. You'll also dive progressively further into deep learning theory to…


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

Jaime Buelta Author Of Python Automation Cookbook

From my list on for Python and non-Python developers.

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.

Jaime's book list on for Python and non-Python developers

Jaime Buelta Why did Jaime love this book?

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.

By Brian Okken,

Why should I read it?

1 author picked Python Testing with Pytest as one of their favorite books, and they share why you should read it.

What is this book about?

Do less work when testing your Python code, but be just as expressive, just as elegant, and just as readable. The pytest testing framework helps you write tests quickly and keep them readable and maintainable - with no boilerplate code. Using a robust yet simple fixture model, it's just as easy to write small tests with pytest as it is to scale up to complex functional testing for applications, packages, and libraries. This book shows you how. For Python-based projects, pytest is the undeniable choice to test your code if you're looking for a full-featured, API-independent, flexible, and extensible testing…


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

Daniel Zingaro Author Of Learn to Code by Solving Problems: A Python Programming Primer

From my list on for a rock solid python programming foundation.

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.

Daniel's book list on for a rock solid python programming foundation

Daniel Zingaro Why did Daniel love this book?

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.

By Warren Sande, Carter Sande,

Why should I read it?

1 author picked Hello World! A Complete Python-Based Computer Programming Tutorial with Fun Illustrations, Examples, and Hand-On Exercises. as one of their favorite books, and they share why you should read it.

What is this book about?

Hello World! Third Edition is a fun, easy-to-use guide with copious illustrations and engaging examples. It takes the reader on a playful tour of basic programming concepts and then puts those concepts together to make fun and useful programs. It uses Python, a programming language that is one of the easiest to read, write, and understand. Like the previous two editions, Hello World! Third Edition is not just for kids. While the tone is light and engaging, it doesn't "talk down" to the reader, and beginners of any age will love its readability and sense of humor. Written by Warren…


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

Naomi R. Ceder Author Of The Quick Python Book

From my list on to level up your Python skills.

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. 

Naomi's book list on to level up your Python skills

Naomi R. Ceder Why did Naomi love this book?

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. 

By David Mertz,

Why should I read it?

1 author picked Cleaning Data for Effective Data Science as one of their favorite books, and they share why you should read it.

What is this book about?

Think about your data intelligently and ask the right questions

Key Features Master data cleaning techniques necessary to perform real-world data science and machine learning tasks Spot common problems with dirty data and develop flexible solutions from first principles Test and refine your newly acquired skills through detailed exercises at the end of each chapterBook Description

Data cleaning is the all-important first step to successful data science, data analysis, and machine learning. If you work with any kind of data, this book is your go-to resource, arming you with the insights and heuristics experienced data scientists had to learn the…


Book cover of Hands-On Machine Learning with Scikit-Learn, Keras, and Tensorflow: Concepts, Tools, and Techniques to Build Intelligent Systems

Valliappa Lakshmanan Author Of Machine Learning Design Patterns: Solutions to Common Challenges in Data Preparation, Model Building, and Mlops

From my list on to become a machine learning engineer.

Who am I?

I have been building real-time, production machine learning models for over 20 years. My book, and my book recommendations, are informed by that experience. I have a lot of empathy for people who are new to machine learning because I’ve taught courses on the topic. I founded the Advanced Solutions Lab at Google where we helped data scientists working for Google Cloud customers (who already knew ML) become ML engineers capable of building reliable ML models. The first two are the books I’d recommend today to newcomers and the last three to folks attending the ASL. 

Valliappa's book list on to become a machine learning engineer

Valliappa Lakshmanan Why did Valliappa love this book?

There are three types of machine learning books — books written for people who want to become machine learning engineers, books written for people who want to become machine learning researchers, and books written for business executives. Reading a book written for researchers or executives can be a frustrating experience if you are a software engineer, social scientist, or mechanical engineer who wants to learn machine learning and get an ML job in the industry.

If you are a coder who wants to become an ML engineer, you have got to learn machine learning concepts, but you want to learn them in a practical way. You need a book that leads with intuition and shows you implementations with code. It has to do this without getting sidetracked into ML theory, getting mired in statistical concepts, or being so superficial that you don’t understand why the code works.…

By Géron Aurélien,

Why should I read it?

1 author picked Hands-On Machine Learning with Scikit-Learn, Keras, and Tensorflow as one of their favorite books, and they share why you should read it.

What is this book about?

Through a series of recent breakthroughs, deep learning has boosted the entire field of machine learning. Now, even programmers who know close to nothing about this technology can use simple, efficient tools to implement programs capable of learning from data. This practical book shows you how.

By using concrete examples, minimal theory, and two production-ready Python frameworks-Scikit-Learn and TensorFlow-author Aurelien Geron helps you gain an intuitive understanding of the concepts and tools for building intelligent systems. You'll learn a range of techniques, starting with simple linear regression and progressing to deep neural networks. With exercises in each chapter to help…


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

Daniel Zingaro Author Of Learn to Code by Solving Problems: A Python Programming Primer

From my list on for a rock solid python programming foundation.

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.

Daniel's book list on for a rock solid python programming foundation

Daniel Zingaro Why did Daniel love this book?

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.

By Charles R. Severance,

Why should I read it?

1 author picked Python for Everybody as one of their favorite books, and they share why you should read it.

What is this book about?

Python for Everybody is designed to introduce students to programming and software development through the lens of exploring data. You can think of the Python programming language as your tool to solve data problems that are beyond the capability of a spreadsheet.

Python is an easy to use and easy to learn programming language that is freely available on Macintosh, Windows, or Linux computers. So once you learn Python you can use it for the rest of your career without needing to purchase any software.

This book uses the Python 3 language. The earlier Python 2 version of this book…


Book cover of Introduction to Machine Learning with Python: A Guide for Data Scientists

Yuxi (Hayden) Liu Author Of Python Machine Learning By Example: Build intelligent systems using Python, TensorFlow 2, PyTorch, and scikit-learn

From my list on machine learning for beginners.

Who am I?

I have been a machine learning engineer applying my ML expertise in computational advertising, and search domain. I am an author of 8 machine learning books. My first book was ranked the #1 bestseller in its category on Amazon in 2017 and 2018 and was translated into many languages. I am also a ML education enthusiast and used to teach ML courses in Toronto, Canada.  

Yuxi's book list on machine learning for beginners

Yuxi (Hayden) Liu Why did Yuxi love this book?

This book is more advanced than the first book I recommended. It presents ML theoretical and practical aspects step-by-step from the bottom up. Each chapter elaborates at length on a core building block in the ML life cycle. For example, feature engineering, supervised learning, and model evaluation have their own separate chapters, with intuitive discussions of how they work. Most of the concept is taught through the simple yet powerful Python Module Scikit-Learn so it won’t overburden you with heavy programming. This book will be perfect for practitioners with some understanding of statistics and linear algebra.

By Andreas C. Müller, Sarah Guido,

Why should I read it?

1 author picked Introduction to Machine Learning with Python as one of their favorite books, and they share why you should read it.

What is this book about?

Machine learning has become an integral part of many commercial applications and research projects, but this field is not exclusive to large companies with extensive research teams. If you use Python, even as a beginner, this book will teach you practical ways to build your own machine learning solutions. With all the data available today, machine learning applications are limited only by your imagination. You'll learn the steps necessary to create a successful machine-learning application with Python and the scikit-learn library. Authors Andreas Muller and Sarah Guido focus on the practical aspects of using machine learning algorithms, rather than the…