Jump to ratings and reviews
Rate this book

Practices of the Python Pro

Rate this book
Summary
Professional developers know the many benefits of writing application code that’s clean, well-organized, and easy to maintain. By learning and following established patterns and best practices, you can take your code and your career to a new level.
With Practices of the Python Pro, you’ll learn to design professional-level, clean, easily maintainable software at scale using the incredibly popular programming language, Python. You’ll find easy-to-grok examples that use pseudocode and Python to introduce software development best practices, along with dozens of instantly useful techniques that will help you code like a pro.

Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

About the technology

Professional-quality code does more than just run without bugs. It’s clean, readable, and easy to maintain. To step up from a capable Python coder to a professional developer, you need to learn industry standards for coding style, application design, and development process. That’s where this book is indispensable.

About the book

Practices of the Python Pro teaches you to design and write professional-quality software that’s understandable, maintainable, and extensible. Dane Hillard is a Python pro who has helped many dozens of developers make this step, and he knows what it takes. With helpful examples and exercises, he teaches you when, why, and how to modularize your code, how to improve quality by reducing complexity, and much more. Embrace these core principles, and your code will become easier for you and others to read, maintain, and reuse.

What's inside

 
Organizing large Python projects Achieving the right levels of abstraction Writing clean, reusable code Inheritance and composition Considerations for testing and performance
 

About the reader

For readers familiar with the basics of Python, or another OO language.

About the author

Dane Hillard has spent the majority of his development career using Python to build web applications.

 

Table of Contents:

PART 1 WHY IT ALL MATTERS

1 ¦ The bigger picture

PART 2 FOUNDATIONS OF DESIGN

2 ¦ Separation of concerns

3 ¦ Abstraction and encapsulation

4 ¦ Designing for high performance

5 ¦ Testing your software

PART 3 NAILING DOWN LARGE SYSTEMS

6 ¦ Separation of concerns in practice

7 ¦ Extensibility and flexibility

8 ¦ The rules (and exceptions) of inheritance

9 ¦ Keeping things lightweight

10 ¦ Achieving loose coupling

PART 4 WHAT’S NEXT?

11 ¦ Onward and upward

250 pages, Paperback

Published January 14, 2020

26 people are currently reading
152 people want to read

About the author

Dane Hillard

3 books2 followers

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
16 (17%)
4 stars
36 (40%)
3 stars
21 (23%)
2 stars
12 (13%)
1 star
5 (5%)
Displaying 1 - 21 of 21 reviews
Profile Image for ☘Misericordia☘ ⚡ϟ⚡⛈⚡☁ ❇️❤❣.
2,520 reviews19.2k followers
November 27, 2020
Getting into the constructive mindset has never been explained in an easier or a more accessible way.

The reader gets to veture into the Python coding philosophy without stumbling blindly about making rookie mistakes. A great read for the self-starter or just for the people who would be willing to make their work cleaner and more easily readable. Lots of comparisons with SQL, systemic stuff, functional programming, moduling, inheritance, refactoring and other useful bits that are often overlooked in coursework.
Profile Image for Darrell Paul.
34 reviews2 followers
January 21, 2020
Save your money and read Luciano Ramalho's "Fluent Python" instead.
Profile Image for Sebastian Gebski.
1,185 reviews1,337 followers
June 14, 2020
It's NOT a book about syntactic Python (it doesn't try to teach you the syntax from scratch), it's not a book about idiomatic Python (Python zen, etc.), neither it is a book about advanced techniques of Python programming.

I'd say that it's a book for people who are still greenhorns, they've just learned the basics (syntax) & now they are trying to make some sense out of it (e.g. because they have no computer science educational background). This book presents the basics like extracting abstractions, taming coupling, making choice between composition and inheritance, what's the basic testability, etc.

I'm not sure I'd call it the "practices of the Python pro" though, it's more like "Python syntax and what's next". I don't think one can learn really much out of it - I think the intentions are right, but the author wanted to make it both beneficiary & very approachable for everyone. This didn't work out well ;/

Sadly, it's not a book I'd like to recommend to anyone.
Profile Image for Jascha.
151 reviews
August 18, 2020
In terms of content, this book does not really provide anything special. I nfct, I have found most of the content not very useful. It does not teach you the basics, but does not teach you advanced topics either. It's like short talks on some topics.

There is one thing that I have really liked, anyway. The way code is presented. You can see wonderful notes explaining what it does. Really easy to understand and spot the key point.
Profile Image for Colm Duffy.
8 reviews
April 30, 2023
I have not finished this yet, but I have made my way through most of it. It is a relatively short book with the first half focused on conceptual, higher level aspects. It is peppered with a few examples. From chapter 6… it gets much more practical and tries to tie in everything from the first five chapters as you create your own bookmark application.

It is pretty useful. I have now been working with python for a few years. So, the code and many of the paradigms are familiar to me. But, it provokes much more critical thinking of how I can proceed with new projects and also refactor some of my earlier work. I feel like the refactoring thought process is a constant for developers anyway, but this really focuses your mind and makes you engage more critically, rather than thinking about it on an adhoc basis as you come across new ways of doing things.

My python journey has been via my PhD and later work. I have worked on my own for much of this, so thinking systematically about testing etc was not as important back when I started as I feel it is now. This book does set you up for that.

Lastly, in addition to the new things I drew from it, I also got a measure of validation as well. When you work on your own, there is always a voice in the back of your head wondering if your implantation or approach is as efficient as it could be. The book allowed me to see that in many cases it is, or not much tweaking was required to change my approach.

I think it is important to remember that development is much more than just knowing how the language you are using works. This book helps to bridge the higher level aspects with practical examples. Importantly, it's also pretty easy to read and understand. A lot of potential for this to come across as pretty dry, the author does a good job of making it engaging.
12 reviews
February 6, 2021
It’s a really good book on some best-practices and design concepts of Python. I wouldn’t recommend it for its pricepoint, though, at about 40 euros. It’s a thin book (200 something pages) for that kind of money.
28 reviews1 follower
February 28, 2020
This is a good book to read for general software principles. It covers all the bases, and is easy to follow along with. I recommended it to our engineering manager as a book that would help developers enhance their understanding of programming principles. I told the people on my team they should grab a read. Yes. I like this book. Having read clean code not long before, this book is more concise, but it has a lot less pages too!
Profile Image for Ravi Sinha.
314 reviews11 followers
September 12, 2022
I kept oscillating between 3 and 4 stars for this book. It mostly reads like introductory essays on a TON of topics, without diving too deep down anything. Some of the content reads like fluff. Most of the examples and diagrams are simplistic. There are other minor issues e.g. introducing UML later in the book whilst already having used UML diagrams before. That said, it is quite comprehensive in its breadth, and the concrete hands-on examples in the book redeemed the book in my opinion. I'd still change the title to 'Hey, you've been coding for 2 years but want a taste of the next level?' before recommending it because I don't think it's quite at a 'pro' level as it stands.
Profile Image for Nickolai.
889 reviews8 followers
March 21, 2023
Книга оставила двоякие впечатления. С одной стороны, она содержит множество по-настоящему стоящих вещей и подает информацию легким и понятным языком. А с другой, имеет место некий сумбур структуры, автор пишет в той последовательности, которая ему приходит на ум, перескакивая с одной темы на другую и обратно. Кроме того, на мой взгляд, не очень удачен практический пример приложения, совершенствуемого по ходу книги. Вроде бы, и всё правильно описано, и хорошие идеи применены, но всё это вместе усложняет восприятие кода. В результате, simplicity, beauty and readability, которыми так славится питон, тут очень страдают.
600 reviews11 followers
May 11, 2020
The book tries to explain a wide range of topics in far too few pages. The author takes multiple pages to explain abstraction and hopes to go through all aspects of professional software development. This inevitably leads to many topics that can only be covered very shallowly. If you are already familiar with the idea, you understand what the author means. If not, you get a glimpse but are left puzzled. I find such books disappointing. I hoped to learn practices specific to Python, but even that subset of topics is far better covered in other books.
4 reviews
July 31, 2023
I am not sure why this book has low rating. The book is definitely going to help to write a better software, which is more scalable and easier to change.
There is a project which is developed gradually along with a reader and gets edited every chapter to apply better practices.

This small project and advices are what makes this book very valuable for a programmer who needs to step up his skills.
Profile Image for Fips.
97 reviews
May 14, 2022
If only I'd read this when it originally wound up on my radar, I'd have got a lot more out of it. Oh well. Still a good look at structuring code, design principals and ways to approach refactoring. This is what I'd hoped the Head First book would deliver, but straight to the point without all the guff.
Profile Image for Robbie Engler.
35 reviews11 followers
February 1, 2020
Pretty good but each of the topics discussed receives more thorough inspection in other books. If I hadn't already read some books that hit these topics harder, I might have found this book lacking. Still, it's fairly short and concise, so I can recommend it.
Profile Image for Tim Verstraete.
314 reviews4 followers
May 25, 2020
I really liked this book, concise and the concepts I already knew but not applied Python. Written very easily and with some good examples and code ... so really liked this one!
Profile Image for Ankush.
16 reviews1 follower
October 18, 2020
Design patterns in python, with a very realistic case study that builds in complexity as the book progresses. Good beginner book for introduction to clean python.
Profile Image for Tudor.
2 reviews
February 11, 2021
Solid refresher of fundamentals, with great examples. Not as advanced as I expected.
Profile Image for Regina Abdu.
3 reviews
Currently reading
April 11, 2021
Quite a heavy book for beginners as it touches upon such topics as encapsulation, polymorphism and so on
Profile Image for John Larsen.
23 reviews
November 12, 2021
Hard to find books on Python where I actually learn something useful instead of reruns of python basics.
Profile Image for Vlad Bezden.
236 reviews14 followers
December 29, 2022
The topics and concepts in the book are the ones that the Pro programmer will use. However, the author did a pure job of implementing it. Unfortunately, there are too many unneeded talks and comparisons instead of getting straight to the point. In addition, the author's example is so long that you must go back and forth between chapters to see pieces of the code.
Displaying 1 - 21 of 21 reviews

Can't find what you're looking for?

Get help and learn more about the design.