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.
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.
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.
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.
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.
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.
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!
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.
Книга оставила двоякие впечатления. С одной стороны, она содержит множество по-настоящему стоящих вещей и подает информацию легким и понятным языком. А с другой, имеет место некий сумбур структуры, автор пишет в той последовательности, которая ему приходит на ум, перескакивая с одной темы на другую и обратно. Кроме того, на мой взгляд, не очень удачен практический пример приложения, совершенствуемого по ходу книги. Вроде бы, и всё правильно описано, и хорошие идеи применены, но всё это вместе усложняет восприятие кода. В результате, simplicity, beauty and readability, которыми так славится питон, тут очень страдают.
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.
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.
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.
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.
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!
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.
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.