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

Effective Python: 59 Specific Ways to Write Better Python

(Effective Software Development)

4.30  ·  Rating details ·  785 ratings  ·  64 reviews

It’s easy to start coding with Python, which is why the language is so popular. However, Python’s unique strengths, charms, and expressiveness can be hard to grasp, and there are hidden pitfalls that can easily trip you up.

Effective Python will help you master a truly “Pythonic” approach to programming, harnessing Python’s full power to write exceptionally robust and well-

...more
Kindle Edition, 249 pages
Published February 12th 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

This book is not yet featured on Listopia. Add this book to your favorite list »

Community Reviews

Showing 1-30
Average rating 4.30  · 
Rating details
 ·  785 ratings  ·  64 reviews


More filters
 | 
Sort order
Start your review of Effective Python: 59 Specific Ways to Write Better Python (Effective Software Development Series)
Pavel Karateev
Sep 14, 2015 rated it it was amazing  ·  review of another edition
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.

Pros:
- Concise
- Best practises
- Relevant topics

Cons:
- Too short
- Not realy an indepth material
- Some topics are too easy and well known (virtualenv, unittest)
bm
Jul 09, 2017 rated it it was amazing  ·  review of another edition
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
...more
Anton Antonov
Apr 09, 2018 rated it really liked it  ·  review of another edition
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
...more
Eric Casteleijn
Mar 10, 2015 rated it really liked it  ·  review of another edition
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
...more
Rohit Goswami
Sep 06, 2020 rated it really liked it  ·  review of another edition
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 ^_^
Prabhu Pant
Apr 19, 2019 rated it it was amazing  ·  review of another edition
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  ·  review of another edition
Shelves: top
Very good, succinct python tutorial.
It's great intro for more advanced books like "Fluent Python".
Jascha
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
Steve
Feb 03, 2017 rated it liked it  ·  review of another edition
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  ·  review of another edition
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
John
Feb 03, 2018 rated it it was amazing  ·  review of another edition
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
...more
Isaac Lockett
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
...more
Bruce
Mar 02, 2018 rated it really liked it  ·  review of another edition
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
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.
Benjamin Price
Jul 31, 2019 rated it really liked it  ·  review of another edition
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
Aug 26, 2019 rated it it was amazing
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.
Vaidas
Oct 21, 2019 rated it really liked it  ·  review of another edition
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.
Zachary
Mar 27, 2020 rated it really liked it  ·  review of another edition
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.
Frank
Jul 04, 2017 rated it liked it  ·  review of another edition
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  ·  review of another edition
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.
Conor
Sep 21, 2018 rated it liked it  ·  review of another edition
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
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  ·  review of another edition
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.
Burke Fitzpatrick
Jun 27, 2018 rated it it was amazing  ·  review of another edition
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.
KIRILL KOSAREV
Aug 16, 2018 rated it it was amazing
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  ·  review of another edition
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
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.
choukir
Jul 30, 2019 rated it it was amazing
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  ·  review of another edition
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 next »
There are no discussion topics on this book yet. Be the first to start one »

Readers also enjoyed

  • Python Tricks: A Buffet of Awesome Python Features
  • Fluent Python: Clear, Concise, and Effective Programming
  • Python Cookbook
  • Grokking Algorithms An Illustrated Guide For Programmers and Other Curious People
  • Clean Code: A Handbook of Agile Software Craftsmanship
  • Clean Architecture
  • Cracking the Coding Interview: 150 Programming Questions and Solutions
  • Automate the Boring Stuff with Python: Practical Programming for Total Beginners
  • The Hitchhiker's Guide to Python: Best Practices for Development
  • Learning Python
  • Python Crash Course: A Hands-On, Project-Based Introduction to Programming
  • Python Machine Learning
  • The Pragmatic Programmer: From Journeyman to Master
  • Test Driven Development: By Example
  • The Idea Factory: Bell Labs and the Great Age of American Innovation
  • Python for Everybody: Exploring Data in Python 3
  • A Philosophy of Software Design
  • Introduction to Algorithms
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

It’s October, which means it’s the perfect time to scare yourself with a truly unsettling book. But if you’re a casual reader of dread and...
210 likes · 66 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…