Goodreads helps you keep track of books you want to read.
Start by marking “Effective Python: 59 Specific Ways to Write Better Python” as Want to Read:
Effective Python: 59 Specific Ways to Write Better Python
Enlarge cover
Rate this book
Clear rating
Open Preview

Effective Python: 59 Specific Ways to Write Better Python

(Effective Software Development)

4.29  ·  Rating details ·  807 ratings  ·  66 reviews
Each item in Slatkin s "Effective Python" teaches a self-contained lesson with its own source code. This makes the book random-access: Items are easy to browse and study in whatever order the reader needs. I will be recommending "Effective Python" to students as an admirably compact source of mainstream advice on a very broad range of topics for the intermediate Python pro ...more
Paperback, 227 pages
Published February 26th 2015 by Addison-Wesley Professional (first published February 1st 2015)
More Details... Edit Details

Friend Reviews

To see what your friends thought of this book, please sign up.

Reader Q&A

To ask other readers questions about Effective Python, please sign up.

Be the first to ask a question about Effective Python

Community Reviews

Showing 1-30
Average rating 4.29  · 
Rating details
 ·  807 ratings  ·  66 reviews

More filters
Sort order
Start your review of Effective Python: 59 Specific Ways to Write Better Python
Pavel Karateev
Sep 14, 2015 rated it it was amazing
Shelves: dev, python
Nice short book full of Python tips and tricks. There're 59 subchapters, each one is independent. Topics vary from OOP to concurrency and parallelism.

Not intend for beginners, but a nice and easy home reading for an experience Python developer.

- Concise
- Best practises
- Relevant topics

- Too short
- Not realy an indepth material
- Some topics are too easy and well known (virtualenv, unittest)
Jul 09, 2017 rated it it was amazing
I've been doing Python sporadically for the last couple of years, but have mostly stuck to the shallow end. Recently, I've been trying to make some dodgy Python code a bit less dodgy and suspected that I wasn't using Python in the right way. So I picked up this book, and I really wish I'd read it sooner!

Effective Python belongs to the "Effective Software Development" series, which was conceived by Scott Meyers, author of Effective C++, to provide guides on best practices for a variety of languag
Anton Antonov
Apr 09, 2018 rated it really liked it
A must-have when working with Python 2/3 codebases.

Although dated by now, it's still relevant except for "Concurrency and Parallelism", if you're writing Python 3.

With the newest improvements in Python 3 regarding asyncio and futures, there needs to be a revisited version of the book.

Either way, highly recommended one-two times read.

Along with "The Python 3 Standard Library by Example (Developer's Library)" the book compliment each other to an extent, however they both fall short at "concurrency
Eric Casteleijn
Mar 10, 2015 rated it really liked it
There is a surprising amount of meat to this book, considering how thin it is. I would recommend this book to Python developers of all experience levels, but note that if you are a beginner, some of the later chapters might be a little out of reach. Similarly to more experienced developers, nothing in the first two chapters should come as big news, except maybe where you disagree with some of the finer points ;).

On the whole I think it's one of those books I will reach for from time to time, for
Rohit Goswami
Sep 06, 2020 rated it really liked it
Short, readable and actionable. This is the only book which actually makes Python somewhat palpable, by not sweeping its limitations under the rug or championing odd idioms like "the principle of least surprise". Lost a star because I cannot recommend Python as a language, as a book, this is excellent. Will read the sequel too ^_^ ...more
Prabhu Pant
Apr 19, 2019 rated it it was amazing
This is a great book to learn advance Python concepts. Though this one is not for beginners, but I believe this is the only book that really taught me how to write code in a pythonic way. Must read for someone aspiring to be an expert in python.
Jakub Kuszneruk
Jun 24, 2019 rated it it was amazing
Shelves: top
Very good, succinct python tutorial.
It's great intro for more advanced books like "Fluent Python".
Mar 19, 2015 rated it it was amazing
If you browse Amazon’s catalog for Python books, you end up with several pages of titles that introduce you to the language, those that get you from hello world up to classes and a little taste of the standard library. What a struggle for those that already know what a closure is to find something worth reading! Brett’s book is one of those that experienced developers hope to see showing up as on top of the results instead: a title that covers those lesser used features that teach you to write b ...more
Feb 03, 2017 rated it liked it
Shelves: technical
A good, but not perfect, text for the next level of Python programming. Unlike the Effective C++ books this is clearly based on (and which I loved), I found the book relatively slow going and the examples- particularly the trickier ones - a bit contrived. I am an experienced programmer who's new to Python and this wasn't a good fit.
Ulas Tuerkmen
Oct 03, 2018 rated it really liked it
For a long time, there was a big gap in the intermediate to advanced Python book space. There was Tarek Ziade's Expert Python Programming,a really good book that started aging as Python moved on. There were books on individual topics such as network programming or web development, but these were limited in scope and could not be recommended to people looking to advance their general knowledge of the language. Fortunately, this situation has now drastically improved, thanks to a number of new pub ...more
Feb 03, 2018 rated it it was amazing
I've observed a curious inverse relationship between the length of computer books and their quality. As with program code shorter is usually better. The canonical examples remain the original C Programming book and the first LaTeX Manual. Both of these terse masterpieces put the blundering, bloated, tree killing, screen-shot-ware that pollutes our bookshelves to shame. Hence, when picking software books I first count pages: anything above two hundred pages is suspicious. Effective Python weighs ...more
Nickson Kaigi
Excellent book for taking your python to the next level.

I was a Java programmer before I switched to Python. I took a month to study A Byte of Python --highly recommended -- but I always felt that I had only scratched the surface. This book is recommended for anyone who has some familiarity with python but wants to gain a deeper understanding of how python works, and how to write pythonic code.

I enjoyed going through this book. Each "item" is a self contained lesson.. the author has a github pro
Isaac Lockett
Sep 30, 2018 rated it liked it
Some really good advice in here, but the learning curve is strange. It seems to start with very simplistic ideas, and then steps up quite suddenly to ways to do better decorators. It then later on explains decorators but I didn't come away with a clearer idea of what they were, but I highly doubt that many people will have a full understanding of decorators prior to the book, but don't for example know how to add a __repr__() method to a class.

Also it spends way too long on APIs, which made the
Mar 02, 2018 rated it really liked it
This is a decent python book. Covers quite a few Python features and how to use them well. I enjoyed it and, after some practice, feel better-able to express myself elegantly in Python.

Where the book falls short is in having enough examples and and practice problems problems to know why/when to apply some of the more advanced Python features. Also, this seems to be target at Python 3.4/2.7, missing some newer Python 3 features.
Yehia Abo el-nga
Mar 08, 2018 rated it it was amazing
A 200 pages summary of best practices of Python coding in production. I like the format of the book. The author mentions 59 different practices, highlights the problems with and proposes a better approach. He doesn't just put the "best practice" out there. He takes the reader through a thought process of why that might be bad through illustration by example. I find it extremely helpful for people writing Python for anything production-level. ...more
Benjamin Price
Jul 31, 2019 rated it really liked it
It can be difficult to find a programming book that matches your level of experience, especially after you've moved away from introductory material. I was pleased to encounter several concepts for the first time, even after using Python for personal projects and class work for nearly two years (and reading dozens of articles related to "intermediate" Python topics).

If you seek out Python best practices, or want to continue learning beyond the basics, this book won't disappoint.
ALLAOUI Mohamed Amine
Great python book!

Most of the python books out there are either too theoretical or too practical. They just introduce the concepts but you don't really understand when to use it for real time. Like generators, classes, decorators ...etc

This book shows known problems and explain how to use python specific feature to write the most effective and readable code.

I really enjoyed that book and you can read small chapters (Items) at a time. I helped me to improve my coding skills.
Oct 21, 2019 rated it really liked it
This book is exactly what the title says - very specific ways to write better python. If your daily output is measured by the functionality of python programs this is a very handy book to have. I've learned approaches that I didn't know before from the computational point of view (coroutines) and how python can be used for parallel(ish) computing.

I will keep this (or an upcoming updated edition) on my desk for reference.
Mar 27, 2020 rated it really liked it
This is a book I revisit. The topics range from beginner ("Know How to Slice Sequences") to advanced ("Concurrency and Parallelism").

Some items/ways are debatable. Eg, there are good arguments against "Item 49: Write Docstrings for Every Function, Class, and Module." However, in general the items/ways are not contentious.

For me, it was sometimes hard to follow along reading disjointed snippets of code, so I had to type out all code for some examples into a text editor.
Jul 04, 2017 rated it liked it
This book is a good overview of some tricks using Python 2 & 3. The author's examples, however, are typically not at all intuitive. I would recommend interested readers looking for another more intuitive book if she/he is interested in advancing their Python skill. For beginners, this is not a beginner friendly book any way, so I wouldn't bother. ...more
Tony Poerio
Jan 30, 2018 rated it it was amazing
Really good Python book. It's not as in-depth as something like Fluent Python, but it has a ton of helpful tips, presented in an easily digestible format.

If you're reading only *one* Python book, go with Fluent Python. But Slatkin's book is a great addition to any library.

I'd call this a true intermediate-level book on the language.
Sep 21, 2018 rated it liked it
I usually prefer books that give a conceptual overview versus those that are lists of specific tips, however this book seemed to accomplish both! It is a valuable intermediate resource that immediately provides ways to structure a new project, clean up an old one, or understand deeper aspects to how python works.
Antonis Maronikolakis
May 19, 2019 rated it really liked it
Effective Python, 59 Ways to Write Better Python by Brett Slatkin is a neat little book to help you hone your Python skills (both for 2 and 3). It consists of tips across various concepts, from useful built-in modules to documentation. I highly recommend it to anyone who wants to learn some cool stuff to do with Python.
Sai Rahul Poruri
Jun 20, 2017 rated it really liked it
Short and concise, this book introduced a lot of new and interesting things about the Python language. It gave me a better understanding of certain concepts of the language and definitely made me a better programmer. There's a lot in this book a junior developer can learn from. ...more
Burke Fitzpatrick
Jun 27, 2018 rated it it was amazing
Shelves: python
This is a great book. I read it once to see what it was about, but I'm going to have to reread it a few times to get the most out of it. I found several useful things on the first read though. Great info on the GIL in chapter 5. ...more
Aug 16, 2018 rated it it was amazing  ·  review of another edition
Nice and usefull book. Easy to read.

It suits for developers with different experience level in Python. I like most of all the way to show the differences between Python 2 and Python 3.
Wanderson Ferreira
Feb 24, 2019 rated it really liked it
Shelves: read_2019
There are some good tips about the Python idiom, however there is nothing too special if you are already an intermediate python developer or had to write some medium size application in a work environment. Anyway, I recommend the reading for everyone.
David Gutierrez
Apr 06, 2019 rated it it was amazing  ·  review of another edition
Good book to polish your Python skills

It contains examples easy to follow. This could be a reference book to quickly look for some patterns and recommend uses while programming with Python.
Jul 30, 2019 rated it it was amazing  ·  review of another edition
Broad set of tips

The book covers everything from best practices, architecture to tools. The book gives enough information to understand a given concept then references external documentation for in depth coverage.
Tommy Mulc
Apr 13, 2020 rated it it was amazing
Very informative for those already familiar with Python but are lacking in the advanced features. Slatkin does a great job keeping the topics short and the practices easy to integrate in your work as you read. I highly recommend it to anyone who uses Python daily.
« previous 1 3 next »
There are no discussion topics on this book yet. Be the first to start one »

Readers also enjoyed

  • Fluent Python: Clear, Concise, and Effective Programming
  • Python Tricks: A Buffet of Awesome Python Features
  • Clean Architecture
  • Clean Code: A Handbook of Agile Software Craftsmanship
  • Learning Python
  • Grokking Algorithms An Illustrated Guide For Programmers and Other Curious People
  • Python Cookbook
  • Python Crash Course: A Hands-On, Project-Based Introduction to Programming
  • Designing Data-Intensive Applications
  • Design Patterns: Elements of Reusable Object-Oriented Software
  • Think Python
  • The Mythical Man-Month: Essays on Software Engineering
  • The Idea Factory: Bell Labs and the Great Age of American Innovation
  • Cracking the Coding Interview: 150 Programming Questions and Solutions
  • A Philosophy of Software Design
  • Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14
  • Automate the Boring Stuff with Python: Practical Programming for Total Beginners
  • The Hitchhiker's Guide to Python: Best Practices for Development
See similar books…

Goodreads is hiring!

If you like books and love to build cool products, we may be looking for you.
Learn more »

Other books in the series

Effective Software Development (1 - 10 of 12 books)
  • Effective Debugging: 66 Specific Ways to Debug Software and Systems
  • Effective Ruby: 48 Specific Ways to Write Better Ruby
  • Effective Objective-C 2.0: 52 Specific Ways to Improve Your IOS and OS X Programs
  • Effective JavaScript: 68 Specific Ways to Harness the Power of JavaScript
  • Effective Perl Programming
  • Effective C#: 50 Specific Ways to Improve Your C#
  • More Effective C#: 50 Specific Ways to Improve Your C#
  • Code Quality: The Open Source Perspective
  • Code Reading: Open Source Perspective
  • Effective Enterprise Java

News & Interviews

Need another excuse to treat yourself to a new book this week? We've got you covered with the buzziest new releases of the day. To create our...
23 likes · 8 comments
“To initiate the debugger, all you have to do is import the pdb built-in module and run its set_trace function. You’ll often see this done in a single line so programmers can comment it out with a single # character.” 0 likes
More quotes…