Review of Fluent Python
The following is a detailed review of the book Fluent Python: Clear, Concise, and Effective Programming by Luciano Ramalho.
Python is a very easy language to introduce yourself to programming. Books like Python Crash Course, or Learning Python are a great way to learn from an starting point. With them we get expertise and become able to program our own applications to a medium level, however, there are some advanced concepts, features, and practices that escape our knowledge, as it is not within the goal of these previous books to make us experts.
For that, we have Fluent Python. With this hands-on guide, you will learn powerful, idiomatic and probably unseen Python code that will take you from beginner/mid level knowledge of the language to complete expert.
After reading this book you will be able to make your code shorter, faster, more readable and easier to understand. You will become proficient in Python 3. This book covers:
- Python data model: understand how special methods are the key to the consistent behaviour of objects
- Data structures: take full advantage of built-in types, and understand the text vs bytes duality in the Unicode age
- Functions as objects: view Python functions as first-class objects, and understand how this affects popular design patterns
- Object-oriented idioms: build classes by learning about references, mutability, interfaces, operator overloading, and multiple inheritance
- Control flow: leverage context managers, generators, coroutines, and concurrency with the concurrent.futures and asyncio packages
- Metaprogramming: understand how properties, attribute descriptors, class decorators, and metaclasses work
It is a book that will take you its time to read (several months probably), as it contains approximately 700 pages, and it covers advanced topics that most Pythonists have probably never heard of. However, after you finish it your view of the language will be transformed, and you will approach any Python programming task with confidence, joy, and that feeling of facing a challenge that undoubtedly you will end up solving.
Fluent Python is not about the style or basics of the language; it covers very advanced features that will leave your co-programmers wondering how you became a master programmer. It is not an easy book to complete, but if you dedicate an effort to reading it slowly, coding along, and interiorizing the concepts and topics it talks about, you’ll end up being an expert of the python programming language.
A couple of words on the examples: they are throughout the whole book well done. The author often presents the same concepts in different flavors or does work on the same example and improves it as concepts are taken into the discussion.
The code is intense but easy to follow. Key lines are extensively explained later on, so that the reader won’t miss that specific features that makes it all possible. There are so many gems that you will probably end up writing most of that code down to make it yours. This is actually the best thing the reader can do. Try it, modify it, assimilate it, master it.
Once you’ve finished it, you will really understand Python, and know what all those topics that seem a little magical are about. You will really grow as a programmer, but beware, if you are beginner you might feel overwhelmed. We think this book is best for those who have a wide experience programming with Python and want to take their practice to another level.
You can find the contents of the book on the following link.
About the book
About the author: Luciano Ramalho was a Web developer before the Netscape IPO in 1995, and switched from Perl to Java to Python in 1998. Since then he worked on some of the largest news portals in Brazil using Python, and taught Python web development in the Brazilian media, banking and government sectors. He is co-owner of Python.pro.br, training company.
Summary of Fluent Python
Fluent Python is an awesome book for becoming an expert of the Python programming language. While it might take a while to read, it is definitely worth it if you are looking to become fluent at Python, and to being able to approach any programming problem without a shadow of worry.
Many people ask if fluent python is a book for beginners, and the answer is definitely no. If you grab this book as a first resource for learning the language you will be overwhelmed. Grab another book or online-course, and once you’ve been programming in Python for a while, come back and devour Fluent Python. Check out our reviews of other Python books and our category on Python Online Courses for this.
For those with a mid/high level of Python, this book will turn you into a master, and is definitely a good resource to have around.
- O Reilly Media
- Ramalho, Luciano (Author)
- English (Publication Language)
- 792 Pages - 09/01/2015 (Publication Date) - O'Reilly Media (Publisher)
Some easier Python books that you might want to check out are:
Some other great resources for Learning Python, after which you will be able to tackle ‘Fluent Python’ are:
Thank you very much for reading How to Learn Machine Learning, and have a fantastic day!