Fans pick 100 books like Practices of the Python Pro

By Dane Hillard,

Here are 100 books that Practices of the Python Pro fans have personally recommended if you like Practices of the Python Pro. Shepherd is a community of 12,000+ authors and super readers sharing their favorite books with the world.

When you buy books, we may earn a commission that helps keep our lights on (or join the rebellion as a member).

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

Naomi R. Ceder Author Of The Quick Python Book

From my list on to level up your Python skills.

Why am I passionate about this?

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?

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. 

By Luciano Ramalho,

Why should I read it?

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

What is this book about?

Learn how to write idiomatic, effective Python code by leveraging its best features. Python's simplicity quickly lets you become productive with it, but this often means you aren't using everything the language has to offer. By taking you through Python's key language features and libraries, this practical book shows you how to make your code shorter, faster, and more readable all at the same time--what experts consider "Pythonic."Many programmers who learn Python basics fall into the trap of reinventing the wheel because of past experience in other languages, and try to bend the language to patterns that don't really apply…


Book cover of Python Distilled

Naomi R. Ceder Author Of The Quick Python Book

From my list on to level up your Python skills.

Why am I passionate about this?

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?

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.

By David Beazley,

Why should I read it?

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

What is this book about?

Expert Insight for Modern Python (3.6+) Development from the Author of Python Essential Reference

The richness of modern Python challenges developers at all levels. How can programmers who are new to Python know where to begin without being overwhelmed? How can experienced Python developers know they're coding in a manner that is clear and effective? How does one make the jump from learning about individual features to thinking in Python at a deeper level? Dave Beazley's new Python Distilled addresses these and many other real-world issues.

Focusing on Python 3.6 and higher, this concise handbook focuses on the essential core…


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.

Why am I passionate about this?

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 Beyond the Basic Stuff with Python: Best Practices for Writing Clean Code

Naomi R. Ceder Author Of The Quick Python Book

From my list on to level up your Python skills.

Why am I passionate about this?

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?

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.

By Al Sweigart,

Why should I read it?

1 author picked Beyond the Basic Stuff with Python as one of their favorite books, and they share why you should read it.

What is this book about?

You're a student who wants to jumpstart their career with practical skills, or you're a self-taught beginner who has learned all you can from beginner programmer books and coding bootcamps. Now you're looking for the next step to becoming a real-world professional programmer so you can create your own apps and get started with your career. If that fits, then this book is for you! This book is perfect for self-taught programmers looking for the stuff intro books don't teach you and students wanting to get practical information before getting started with applying their new programming skills.


Book cover of Get Programming: Learn to Code with Python

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.

Why am I passionate about this?

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?

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.”

By Ana Bell,

Why should I read it?

1 author picked Get Programming as one of their favorite books, and they share why you should read it.

What is this book about?

Whether readers want to become a professional software developer,
create web sites, analyze scientific data, or just automate tedious
business tasks, learning to program is the first step. Fortunately,
learning to program doesn't have to be difficult.


Get Programming: Learn to code with Python introduces you to the
world of writing computer programs without drowning you in
confusing jargon or theory that make getting started harder than it
should be. By working through the examples and exercises in 39 bitesize
lessons, you'll learn how to code step-by-step by creating your
own programs with the beginner-friendly Python language! With
crystal-clear illustrations,…


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.

Why am I passionate about this?

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 Automate the Boring Stuff with Python: Practical Programming for Total Beginners

Christopher Trudeau Author Of Django in Action

From my list on books for coders shelf.

Why am I passionate about this?

My first computer was an early IBM PC back when all my friends had Commodores they used for gaming. Not being able to share their games meant I had to do something else, so I read the Introduction to Basic book that came in the box. I’ve been coding, reading about coding, writing about coding, teaching about coding, and talking about coding ever since. The world of technology moves so fast that it is hard to keep up. If you’ve taken one of my courses or listened to The Real Python Podcast, I hope you’ve heard about my passion for the topic. 

Christopher's book list on books for coders shelf

Christopher Trudeau Why did Christopher love this book?

When I work with students new to programming I often find they struggle with translating the toy problems in exercises to actually doing something in the real world.

I love this book and frequently recommend it to new programmers because it is centered around problems. Coding should be about making your life easier. At the beginning, the problems are small, but by the end, you’re learning about email, PDFs, and GUIs.

Sweigart has a great voice, and reading this feels like being guided by a friend rather than yet another coding textbook.

By Al Sweigart,

Why should I read it?

1 author picked Automate the Boring Stuff with Python as one of their favorite books, and they share why you should read it.

What is this book about?

In this second edition of Automate the Boring Stuff with Python, you'll learn the basics of programming in Python, the fastest growing programming language today, before moving on to create Python programs that effortlessly perform useful and impressive feats of automation. This updated edition is full of step-by-step instructions that walk through each programme. Practice projects at the end of each chapter challenge you to improve those programmes and use your newfound skills to automate similar tasks.


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.

Why am I passionate about this?

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 Python for Everyone

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.

Why am I passionate about this?

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 used this book for several years starting in 2013 when the first edition came out. It absolutely holds up today. Learning the Python language (the syntax) is one thing. Learning how to design programs using this syntax is another. We need both but, unfortunately, many books forgo the latter for the former. Not this book! I like the Problem Solving and Worked Example sections: they help learners apply a disciplined, step-by-step strategy to programming projects. There are multiple, varied contexts here as well, which helps capture a broader base of learners. Bonus feature: the Computing & Society boxes.

By Cay S. Horstmann, Rance D. Necaise,

Why should I read it?

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

What is this book about?

Python for Everyone, 3rd Edition is an introduction to programming designed to serve a wide range of student interests and abilities, focused on the essentials, and on effective learning. It is suitable for a first course in programming for computer scientists, engineers, and students in other disciplines. This text requires no prior programming experience and only a modest amount of high school algebra. Objects are used where appropriate in early chapters and students start designing and implementing their own classes in Chapter 9. New to this edition are examples and exercises that focus on various aspects of data science.


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.

Why am I passionate about this?

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 Fluent Python: Clear, Concise, and Effective Programming
Book cover of Python Distilled
Book cover of Cleaning Data for Effective Data Science: Doing the other 80% of the work with Python, R, and command-line tools

Share your top 3 reads of 2024!

And get a beautiful page showing off your 3 favorite reads.

1,593

readers submitted
so far, will you?

5 book lists we think you will like!

Interested in python, computer programming, and software?

Python 30 books
Software 61 books