

Buy anything from 5,000+ international stores. One checkout price. No surprise fees. Join 2M+ shoppers on Desertcart.
Desertcart purchases this item on your behalf and handles shipping, customs, and support to Faroe Islands.
Pythonรข??s simplicity lets you become productive quickly, but this often means you arenรข??t using everything it has to offer. With this hands-on guide, youรข??ll learn how to write effective, idiomatic Python code by leveraging its bestรข??and possibly most neglectedรข??features. Author Luciano Ramalho takes you through Pythonรข??s core language features and libraries, and shows you how to make your code shorter, faster, and more readable at the same time. Many experienced programmers try to bend Python to fit patterns they learned from other languages, and never discover Python features outside of their experience. With this book, those Python programmers will thoroughly learn how to become proficient in Python 3. This book covers: Python data model: understand how special methods are the key to the consistent behavior 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 Review: Excellent Resource. Well written. - I am an engineer who decided to learn how to code on my own. I experimented with a bunch of different languages but fell in love with Python. I now use Python for personal projects. I was watching a YouTube video where Gina Hรคuรge (creator of octoprint) recommended it and attributed her work to things learned in the book. So I bought it hoping to better my skills. I read this book in chapter chunks, as there is a TON of information to gain from this book. I love the structure that Ramalho uses. He provides well written descriptions and explanations for each topic(something I cannot say for most textbooks). On top of that, he provides relevant code examples for almost everything he covers. Even better, he has step-by-step explanations for the code examples that follow the execution flow. This makes it much easier to understand if you have difficulty grasping the concept at first. Aside from coding the examples yourself, this is top notch for learning skills from text. For me, I was reading this book while working on a medium sized Python project. Even though I was not searching for anything specific in this book, the more I read, the more I found ways where I could implement his teachings into my project. Ramalho includes a section at the end of each chapter to offer his opinion on said topic. As a younger programmer, I appreciated the opinion from a professional and clearly well respected member of the Python community. If you write Python and want to gain a better understanding of the language (and perhaps found the Python docs hard to read like me), this book is for you. If you do give it a read, I hope you like it as much as I did. Thanks Luciano, excellent work! Review: Aptly Named, Fluent Python - As the title and description suggest, this book truly is to achieve 'fluency' in Python. It touches on nearly every point of the language that is pythonic, describing not just the how and the what, but the why. This book is definitely not a good beginner book for Python (however, someone extremely well versed in Java or C++ could probably benefit from it, if they relied on more basic information from alternative sources), but I wouldn't say it's only for expert users. This book touches on a very wide selection of subjects, from some pretty common Python concepts, like Duck Typing, generators, and function and class decorators to more advanced subjects like abstract base classes, multiple inheritance, mixins, and meta programming. The prose is easy to read and even entertaining. It may be the first programming book I read for enjoyment, and not just reference. Luciano demonstrates that he truly is fluent in Python, and while probably 25% of the chapters were not on any subject that is useful to me, all of them yielded new information and helpful hints, and even tips and tricks to increase performance or readability of the code. I would think that, given the wide range of topics, at least 30% of the book will be extremely helpful to your specific use case, regardless of what that is.















| Best Sellers Rank | #530,035 in Books ( See Top 100 in Books ) #120 in Object-Oriented Design #369 in Python Programming #520 in Software Development (Books) |
| Customer Reviews | 4.7 out of 5 stars 785 Reviews |
J**N
Excellent Resource. Well written.
I am an engineer who decided to learn how to code on my own. I experimented with a bunch of different languages but fell in love with Python. I now use Python for personal projects. I was watching a YouTube video where Gina Hรคuรge (creator of octoprint) recommended it and attributed her work to things learned in the book. So I bought it hoping to better my skills. I read this book in chapter chunks, as there is a TON of information to gain from this book. I love the structure that Ramalho uses. He provides well written descriptions and explanations for each topic(something I cannot say for most textbooks). On top of that, he provides relevant code examples for almost everything he covers. Even better, he has step-by-step explanations for the code examples that follow the execution flow. This makes it much easier to understand if you have difficulty grasping the concept at first. Aside from coding the examples yourself, this is top notch for learning skills from text. For me, I was reading this book while working on a medium sized Python project. Even though I was not searching for anything specific in this book, the more I read, the more I found ways where I could implement his teachings into my project. Ramalho includes a section at the end of each chapter to offer his opinion on said topic. As a younger programmer, I appreciated the opinion from a professional and clearly well respected member of the Python community. If you write Python and want to gain a better understanding of the language (and perhaps found the Python docs hard to read like me), this book is for you. If you do give it a read, I hope you like it as much as I did. Thanks Luciano, excellent work!
Z**H
Aptly Named, Fluent Python
As the title and description suggest, this book truly is to achieve 'fluency' in Python. It touches on nearly every point of the language that is pythonic, describing not just the how and the what, but the why. This book is definitely not a good beginner book for Python (however, someone extremely well versed in Java or C++ could probably benefit from it, if they relied on more basic information from alternative sources), but I wouldn't say it's only for expert users. This book touches on a very wide selection of subjects, from some pretty common Python concepts, like Duck Typing, generators, and function and class decorators to more advanced subjects like abstract base classes, multiple inheritance, mixins, and meta programming. The prose is easy to read and even entertaining. It may be the first programming book I read for enjoyment, and not just reference. Luciano demonstrates that he truly is fluent in Python, and while probably 25% of the chapters were not on any subject that is useful to me, all of them yielded new information and helpful hints, and even tips and tricks to increase performance or readability of the code. I would think that, given the wide range of topics, at least 30% of the book will be extremely helpful to your specific use case, regardless of what that is.
J**L
Great book if you want to know more than "How to" but "Why to"
I have been using Python for a few years mostly as a scripting language. As I have gained proficiency I wanted to dive deeper into best practices and a bit more under-the-covers. I found some good resources online for studying Python internals but that was not helping me write better code. This book is exactly what I was looking for. It covers the aspects of Python that are not obvious to people coming from different languages. It gives guidance on the best ways to use features and why they work the way they do. It touches on details of Python internals where they illuminate the behavior and choices a Python programmer might make but you won't get bogged down in Python byte code. This is not a book for beginners. It assumes a fair bit of knowledge. A beginner will want a wider coverage of topics and not get buried in details. (I really like "Learning Python" by Mark Luft and still go back to that from time to time.) This is for the Python programmer leveling-up. That is where I found myself and I am pretty confident this will help me get there.
A**R
Fantastic book - slightly outdated for certain topics
The book is well written, clear, includes examples, author clearly knows the language very well and the way he talks about it shows how the programmer should be thinking. However, some syntax is slightly outdated, this is mostly harmless except for the chapter on asyncio, in which the module's interface has been integrated into the language with new "async/await" keywords. The author does make a note that at the time of writing the PEP that eventually introduced this chance was close to acceptance. Conceptually it is the same but the examples are not so relevant to how asyncio code is written in newer versions of Python.
W**S
Excellent writing and explanations make this the best Python book I have found so far
Fluent Python is a great book and Luciano Ramalho is an excellent author. Ramalho has a casual writing style which makes it feel like you are not reading a programming book. At the end of each chapter he has a section called "Further Reading" and "Soapbox". Further reading contains tons of relevant references and links. Soapbox provides lots of valuable information about the language you would not find in other books. An example is in one "Soapbox" he explains how Python is competing with Ruby and Javascript for being a general purpose dynamic language. He also mentions Go and Elixir are languages that could be a threat to Python in the future, and explains why. These high level explanations filled in a lot of knowledge gaps I had on how Python compares with other languages. The book is for intermediate to advanced users. He dives into the details of the CPython implementation; that's exactly what I was looking for. Buy this book if you want to take your Python programming to the next level.
D**M
Fluent Python and Amazon network glitch ...
Sounds like this is a good book that I have read from other reviewers. Unfortunately, Amazon malfunctioned and got stuck on a screen for a different book and then when they fixed whatever network problem instantly jumped to this book at random and self clicked then "Buy Now" button without me touching anything. Needless to say, a very dangerous flaw in Amazon's app design especially when they are having network problems and force people to make purchases they did not order and in this case did not touch anything at all. I have sent notice to Amazon regarding a refund. That said, looking over the details of this book the glitch forced me into, it looks like this might be a good book that I might be interested in purchasing and reading sometime in the future when and if there is more interest for me in programming in Python. From the write ups and reviews, it should be noted to readers that it looks like this particular book is for intermediate to expert level python programming audience and not a book for beginners or introducing Python. So as not to impact the prior star history of this book from other reviewers, I am leaving this comment 5 star and using this space as another means to reach out to Amazon regarding the bug in their network response.
J**S
The perfect book for intermediate programmers
This book is spectacular for intermediate Python programmers. I've been programming for a year or so with Python and this book helped me improve my coding a lot. I'm not exaggerating when I say that it is the best programming book I've ever read. It's full of clever insights, smart examples that make you get the exact point Luciano is trying to make, and neat suggestions on how to be pythonic. I have read a couple of books on Python and Ruby and I usually end up quickly scanning some pages or even whole chapters that I find either unnecessarily verbose on a simple matter, or just plain boring. I didn't have to do that at all with this book: I enjoyed the reading of every bit. The code examples also made me realize how stuff can be done in many subtle ways, besides the "main point" of the example, and in that aspect you can tell Luciano is a great pedagogue. The chapters about asynchronous programming helped me get a grasp of a way of structuring programs that I didn't conceive of before. I've read the whole thing in 2 months or so of ~daily 25' reading (i.e. one pomodoro ;). It's a must read of the Python literature.
R**N
For Intermediate Programmer Trying to Solidify Their Understanding of Python
Fluent Python was a joy to read. It captured my imagination like a John le Carrรฉ novel, I could not put it down. What would I learn next! For the last year, I have been trying to jump to the next level in my understanding of Python. I had been writing competent python code off and on for several years. I had a feeling of what the next level must be like, but I just could not grasp its full meaning. Fluent Python brought it all into focus. The perfect book at just the right time in my development as a python programmer. With each page, I gained a new insight into how to make my code more effective. At every juncture, I knew how I could apply what I had just read in my own programming. It was actually quite thrilling. Contrary to popular advice, I don't read sitting at the keyboard. But I often have to get out of my La-z-boy to go and try some confusing piece of sample code. Or the text is so poorly written, I have to backup and reread a section several times. Often, it becomes a chore to push through the last few pages of a chapter. But reading Fluent Python was exciting, I could put it down and finished the first ten chapters (~300 page) in one sitting.
T**5
Trรจs technique
Je n'ai pas lu 100 pages, mais le contenu est trรจs technique. Permet de d'apprendre les subtilitรฉs du langage. Je recommande, pour ceux veulent approfondir leur technique.
T**N
A bit slow but with interesting topics covered
Could be less verbose. It was a bit of a long sliw read. Still though were the topics well covered and did I learn pretty cool preculiar things.
D**S
Denis V
A big book (I mean, your nightstand better be solid) with advanced technics in Python. Not recommended for the beginner, it's still focused on the standard library but that's enough. Obviously, I haven't finished reading it yet but from the first chapter alone you learn a lot of stuff.
M**.
One of the greatest python book
Easy to follow, very good paper quality, great examples
S**N
This should be your second book on Python
So you've got the basics down in Python, what do you read now? This book. "Fluent Python" tells you which constructs to use and, almost more importantly, why. The big difference to "Effective Python" by Slatkin is that this book is in-depth and explains what happens behind the code - I have found the insights into how Python works under the hood invaluable. This is a book for people who really want to master the language, not just get somewhat better quickly. It takes quite some time to work through "Fluent Python", but it is time very well spent. If there is anything I didn't really like about "Fluent Python", it is the priority given to object-orientated programming. If you are one of those people who think that OOP has basically failed its promise, there are whole chapters that will make you grit your teeth. There is a discussion of why modern Python has better tools for functional programming than the classic map and reduce, but this is definitely a book from the OOP camp.
Trustpilot
4 days ago
3 weeks ago