Customers who viewed this item also viewed
Used - Good
$10.40$10.40
$3.99 delivery Saturday, May 2
Advertisement
Advertisement
Ships from: HPB-Red Sold by: HPB-Red
Used - Very Good
$8.00$8.00
$6.44 delivery Tuesday, May 5
Advertisement
Advertisement
Ships from: Trillion Books & Media Sold by: Trillion Books & Media
Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
Follow the author
OK
Fluent Python: Clear, Concise, and Effective Programming 1st Edition
Purchase options and add-ons
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
- ISBN-101491946008
- ISBN-13978-1491946008
- Edition1st
- PublisherO'Reilly Media
- Publication dateSeptember 15, 2015
- LanguageEnglish
- Dimensions7 x 1.5 x 9.5 inches
- Print length790 pages
There is a newer edition of this item:
Deals on related products
Customers also bought or read
- Effective Python: 125 Specific Ways to Write Better Python (Effective Software Development Series)
Paperback$52.80$52.80FREE delivery Tue, Apr 28 - Python for Data Analysis: Data Wrangling with pandas, NumPy, and Jupyter
Paperback$42.66$42.66FREE delivery May 3 - 7 - Effective Python: 90 Specific Ways to Write Better Python (Effective Software Development Series)
Paperback$51.69$51.69$3.99 delivery May 12 - 15 - Python Crash Course, 3rd Edition: A Hands-On, Project-Based Introduction to Programming#1 Best SellerPython Programming
Paperback$27.53$27.53Delivery Tue, Apr 28 - Design Patterns: Elements of Reusable Object-Oriented Software#1 Best SellerObject-Oriented Design
Hardcover$31.92$31.92Delivery May 3 - 7 - Python Pocket Reference: Python In Your Pocket (Pocket Reference (O'Reilly))
Paperback$13.79$13.79Delivery May 12 - 25 - Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14
Paperback$53.29$53.29FREE delivery May 1 - 2 - Fluent Python: Clear, Concise, and Effective Programming
Paperback$43.99$43.99FREE delivery Tue, Apr 28 - Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems
Paperback$49.50$49.50FREE delivery Tue, Apr 28 - Programming Python: Powerful Object-Oriented Programming
Paperback$43.69$43.69FREE delivery May 9 - 16 - CPython Internals: Your Guide to the Python 3 Interpreter
Paperback$39.99$39.99FREE delivery Tue, Apr 28 - Domain-Driven Design: Tackling Complexity in the Heart of Software
Hardcover$57.61$57.61FREE delivery Tue, Apr 28 - The Pragmatic Programmer: Your Journey To Mastery, 20th Anniversary Edition (2nd Edition)#1 Best SellerSoftware Design & Engineering
Hardcover$41.64$41.64FREE delivery Tue, Apr 28 - Automate the Boring Stuff with Python, 2nd Edition: Practical Programming for Total Beginners
Paperback$22.67$22.67Delivery May 6 - 11 - Architecture Patterns with Python: Enabling Test-Driven Development, Domain-Driven Design, and Event-Driven Microservices
Paperback$37.10$37.10FREE delivery Tue, Apr 28 - Designing Machine Learning Systems: An Iterative Process for Production-Ready Applications
Paperback$40.00$40.00FREE delivery Tue, Apr 28 - Clean Architecture: A Craftsman's Guide to Software Structure and Design (Robert C. Martin Series)
Paperback$36.14$36.14FREE delivery Tue, Apr 28 - Cracking the Coding Interview: 189 Programming Questions and Solutions
Paperback$25.79$25.79Delivery Tue, Apr 28
From the brand
-
Learn Python
-
Python performace
-
Python for Data Science
-
Sharing the knowledge of experts
O'Reilly's mission is to change the world by sharing the knowledge of innovators. For over 40 years, we've inspired companies and individuals to do new things (and do them better) by providing the skills and understanding that are necessary for success.
Our customers are hungry to build the innovations that propel the world forward. And we help them do just that.
From the Publisher
From The Preface
An experienced programmer may start writing useful Python code in a matter of hours. As the first productive hours become weeks and months, a lot of developers go on writing Python code with a very strong accent carried from languages learned before. Even if Python is your first language, often in academia and in introductory books it is presented while carefully avoiding language-specific features.
As a teacher introducing Python to programmers experienced in other languages, I see another problem that this book tries to address: we only miss stuff we know about. Coming from another language, anyone may guess that Python supports regular expressions, and look that up in the docs. But if you’ve never seen tuple unpacking or descriptors before, you will probably not search for them, and may end up not using those features just because they are specific to Python.
This book is not an A-to-Z exhaustive reference of Python. Its emphasis is on the language features that are either unique to Python or not found in many other popular languages. This is also mostly a book about the core language and some of its libraries. I will rarely talk about packages that are not in the standard library, even though the Python package index now lists more than 60,000 libraries and many of them are incredibly useful.
Who This Book Is For
This book was written for practicing Python programmers who want to become proficient in Python 3. If you know Python 2 but are willing to migrate to Python 3.4 or later, you should be fine. At the time of this writing, the majority of professional Python programmers are using Python 2, so I took special care to highlight Python 3 features that may be new to that audience.
However, Fluent Python is about making the most of Python 3.4, and I do not spell out the fixes needed to make the code work in earlier versions. Most examples should run in Python 2.7 with little or no changes, but in some cases, backporting would require significant rewriting.
Having said that, I believe this book may be useful even if you must stick with Python 2.7, because the core concepts are still the same. Python 3 is not a new language, and most differences can be learned in an afternoon. What’s New in Python 3.0 is a good starting point. Of course, there have been changes since Python 3.0 was released in 2009, but none as important as those in 3.0.
If you are not sure whether you know enough Python to follow along, review the topics of the official Python Tutorial. Topics covered in the tutorial will not be explained here, except for some features that are new in Python 3.
Who This Book Is Not For
If you are just learning Python, this book is going to be hard to follow. Not only that, if you read it too early in your Python journey, it may give you the impression that every Python script should leverage special methods and metaprogramming tricks. Premature abstraction is as bad as premature optimization.
Editorial Reviews
From the Author
This book was written for practicing Python programmers who want to become proficient in Python 3. If you know Python 2 but are willing to migrate to Python 3.4 or later, you should be fine. [...]
If you are not sure whether you know enough Python to follow along, review the topics of the official Python Tutorial. Topics covered in the tutorial will not be explained here, except for some features that are new in Python 3.
Who This Book Is Not For
If you are just learning Python, this book is going to be hard to follow. Not only that, if you read it too early in your Python journey, it may give you the impression that every Python script should leverage special methods and metaprogramming tricks. Premature abstraction is as bad as premature optimization.
(extracted from the Preface, page xvi, emphasis added)
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. His speaking credentials include PyCon US (2013), OSCON (2002, 2013), and 15 talks over the years at PythonBrasil (the Brazilian PyCon) and FISL (the largest FLOSS conference in the Southern Hemisphere). Ramalho is a member of the Python Software Foundation and co-founder of Garoa Hacker Clube, the first hackerspace in Brazil. He is co-owner of Python.pro.br, atraining company.
Product details
- Publisher : O'Reilly Media
- Publication date : September 15, 2015
- Edition : 1st
- Language : English
- Print length : 790 pages
- ISBN-10 : 1491946008
- ISBN-13 : 978-1491946008
- Item Weight : 2.68 pounds
- Dimensions : 7 x 1.5 x 9.5 inches
- Part of series : Learning Python
- Best Sellers Rank: #217,334 in Books (See Top 100 in Books)
- #47 in Object-Oriented Design
- #153 in Python Programming
- #173 in Software Development (Books)
- Customer Reviews:
About the author

Luciano Ramalho was a Web developer before the Netscape IPO in 1995, and switched from Perl to Python in 1998. He has presented talks at PyCon US, OSCON, QCon, PythonBrasil, PyCon DE etc. Ramalho is a fellow of the Python Software Foundation and co-founder of Garoa Hacker Clube, the first hackerspace in Brazil. He is a Principal Consultant at Thoughtworks.
Related products with free delivery on eligible orders
Customer reviews
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on AmazonCustomers say
Generated from the text of customer reviewsSelect to learn more
Reviews with images
Python In Fluency..
Top reviews from the United States
There was a problem filtering reviews. Please reload the page.
- Reviewed in the United States on March 22, 2016Format: PaperbackVerified PurchaseAs 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.
- Reviewed in the United States on September 29, 2021Format: PaperbackVerified PurchaseI 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!
- Reviewed in the United States on January 2, 2016Format: PaperbackVerified PurchaseFluent 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.
- Reviewed in the United States on December 22, 2020Format: PaperbackVerified PurchaseThe 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.
- Reviewed in the United States on December 21, 2019Format: PaperbackVerified PurchaseI 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.
Top reviews from other countries
-
Tahitibob35Reviewed in France on October 12, 20155.0 out of 5 stars Très technique
Format: PaperbackVerified PurchaseJe 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.
ToonReviewed in the Netherlands on April 15, 20173.0 out of 5 stars 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.
-
Denis ViviesReviewed in Spain on August 21, 20175.0 out of 5 stars Denis V
Format: PaperbackVerified PurchaseA 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.
-
S. StevensonReviewed in Germany on February 15, 20185.0 out of 5 stars This should be your second book on Python
Format: PaperbackVerified PurchaseSo 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.
AmrReviewed in the United Arab Emirates on February 24, 20211.0 out of 5 stars Failed to return item
Format: PaperbackVerified PurchaseFailed to return item


















![Computer Networking Bible: [3 in 1] The Complete Crash Course to Effectively Design, Implement and Manage Networks. Including Sections on Security, Performance and Scalability](https://m.media-amazon.com/images/I/41H4YJnxKgL._AC_SR100,100_QL65_.jpg)
