Book Review – Fluent Python by Luciano Ramalho?

Title: Fluent Python

Author: Luciano Ramalho

Publication year: 2015

Pages: 798

To start this conversation, a bit of a context. I’ve been working with Python for a year since I’ve moved to a new squad at work. Although this book is not for beginners, as I’ve worked as a software developer for more than 15 years, it is not that hard to learn a new programming language. Therefore, I’ve scanned a book from Downey called Think Python and then started fluent python journey from Luciano Ramalho.

In this review, I’m not going to describe each chapter. I only want to share why, in my opinion, you should still read this book besides the fact that it was published in 2015 and uses python version 3.4.

It’s important to mention that this is not an introductory book. So, if Python is your first programming language, make sure you have a basic knowledge of the language before start reading it.

The first thing that drew my attention in this book was the format. At the end of each chapter, after the main subject, the author adds three sections. The first one is a concise summary. In the second one, there there are some references for you to go deeper into that topic with links to websites, books, and articles. Finally, the last one, which is my favorite, is a fantastic section called soapbox, where the author shares his opinion about something related to that topic. An example is his thoughts on the expression yield from.

Fluent Python is a technical book. Nevertheless, the author is always giving his opinion as it was a conversation, which makes the book super easy to follow.

You probably know that dict is a pretty fast data structure. However, it is crucial to know the downsides and the consequences you might have by using it. Ramalho goes into details about dict and tells us when you should and when you shouldn’t use it. I also highly recommend that you take a look at chapter 3, where he shows how to solve collisions in a hashtable algorithm.

As a C# developer, and Java sometimes, it was quite surprising to read chapter 6 and figure out how the author sees design patterns from the perspective of a python developer. Strategy pattern is strongly dependent on interfaces in C#. Since python has no such keyword, concepts like duck typing come in handy to apply the same idea and still using that pattern.

Although the “async/await” feature was released after the book was published, chapters 16, 17, and 18 are very useful to understand how things worked in python 3.4. It also gave me an idea of how the interpreter executes async/await under the hood.

My final word about this book is yes, it’s still worth reading this book. Not only it gives you a lot of knowledge about python, but it also shows you where to find further information on many topics. I’ll update this post as soon as the second edition is published. I’m so looking forward to reading it.

1 thought on “Book Review – Fluent Python by Luciano Ramalho?

Leave a comment

search previous next tag category expand menu location phone mail time cart zoom edit close