Shop Viral Mens Fashion Now
Buy used:
$8.04
Used: Very Good | Details
Condition: Used: Very Good
Access codes and supplements are not guaranteed with used items.
Only 1 left in stock - order soon.
Added to

Sorry, there was a problem.

There was an error retrieving your Wish Lists. Please try again.

Sorry, there was a problem.

List unavailable.
Kindle app logo image

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.

QR code to download the Kindle App

  • Fluent Python: Clear, Concise, and Effective Programming

Follow the author

Get new release updates & improved recommendations
Something went wrong. Please try your request again later.

Fluent Python: Clear, Concise, and Effective Programming

4.7 out of 5 stars (786)

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

There is a newer edition of this item:

36% off Kindle Colorsoft bundle pantry

Customers also bought or read

Loading...

From the brand


From the Publisher

Fluent Python

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

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. [...]

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: #765,028 in Books (See Top 100 in Books)
  • Customer Reviews:
    4.7 out of 5 stars (786)

About the author

Follow authors to get new release updates, plus improved recommendations.
Luciano Ramalho
Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.

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.

Customer reviews

4.7 out of 5 stars
786 global ratings

Customers say

Customers find this Python book excellent for intermediate coders, containing comprehensive information and examples. Moreover, the book is well-written and easy to read, making it suitable for experienced programmers who want to improve their skills. They appreciate its deep language understanding and wide range of topics. However, opinions on value for money are mixed, with some finding it worth the investment while others consider it a waste of money.
AI Generated from the text of customer reviews

Select to learn more

62 customers mention content, 60 positive, 2 negative
Customers praise the content of the book, describing it as a super Python book and excellent work, with one customer noting it's particularly suitable for intermediate coders.
Great book.Read more
Best Python book, after you got all the basics.Read more
Excellent book.Read more
Sounds like this is a good book that I have read from other reviewers....Read more
45 customers mention informative, 41 positive, 4 negative
Customers find the book informative, containing many examples and good explanations that go into plenty of detail. One customer notes that it provides references for more in-depth treatment, while another mentions that the author explains the inner workings of Python.
...It even gave informative background and explanations at the end of each chapter....Read more
Amazing overview of a wide range of Python topics....Read more
Advanced programmers will want this. Well-written and useful.Read more
...subject of the language, each time providing a fresh look and new information. I recommend this book very much!Read more
38 customers mention skill level, 28 positive, 10 negative
Customers find the book excellent for skill development, particularly for intermediate to advanced Python programmers.
This is a good book for intermediate level of Python. In the first 10-15 pages of the book, I learnt something new. Definitely recommend it.Read more
Author has a deep understanding of the language and is a gifted instructor....Read more
...This book is certainly not for beginners but it is enjoyable to work with if you are familiar with the language to take your expertise to the next...Read more
...It goes into plenty of detail, so it's great for experts and novices alike....Read more
31 customers mention readability, 27 positive, 4 negative
Customers find the book easy to read and concise, with one customer noting it's an excellent read for anyone.
Well written, easy to understand and with clear and concise explanations on how and why x does y, in addition to the inclusion of some internal...Read more
...It's a pretty thick book, yet concise and well-written. It goes into plenty of detail, so it's great for experts and novices alike....Read more
Excellent read. A great intermediate to advanced python book, with few titles offering the same level and depth into the language specifics....Read more
...It's a pleasure to read, and I found that reading it in byte-sized sessions while commuting made a big impact on my Python fluencyRead more
22 customers mention writing style, 21 positive, 1 negative
Customers appreciate the writing style of the book, describing it as well written and straightforward, with one customer noting it provides clear descriptions.
Well written, easy to understand and with clear and concise explanations on how and why x does y, in addition to the inclusion of some internal...Read more
...It's a pretty thick book, yet concise and well-written. It goes into plenty of detail, so it's great for experts and novices alike....Read more
I study this book and I enjoy it's content as well as its prose....Read more
...This is very well written and hits all the key topics.Read more
14 customers mention language, 13 positive, 1 negative
Customers appreciate the book's language coverage, with one customer noting it covers many features, while another mentions it provides a deep understanding of the language.
...one that gets to some of the Python magic that makes it such an incredible language. Work through each example....Read more
Author has a deep understanding of the language and is a gifted instructor....Read more
...I also love the fact that he is not so dogmatic about the programming language and often compares various features to other languages to explain...Read more
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...Read more
8 customers mention subject coverage, 6 positive, 2 negative
Customers appreciate the book's comprehensive coverage of Python topics, with one customer noting that it covers 90 percent of the language.
Amazing overview of a wide range of Python topics....Read more
...This is very well written and hits all the key topics.Read more
...but the flow is a bit scattered and the topics are sometimes presented without much context.Read more
...This book touches on a very wide selection of subjects, from some pretty common Python concepts, like Duck Typing, generators, and function and...Read more
8 customers mention value for money, 5 positive, 3 negative
Customers have mixed opinions about the book's value for money, with some finding it worth their time to read while others consider it a waste of money.
...This book is worth reading independent of the language you are using....Read more
...At page 13 and 70. I cannot get pass page 70 on any device. Waste of money.Read more
...Part V which includes coverage of asyncio is worth the price of the whole book....Read more
...worked through about 150 pages so far (out of like 700), but already worth it and worth the 5 stars.Read more
Python In Fluency..
5 out of 5 stars
Python In Fluency..
Definitely big book with full of deep Knowledge of Python Advanced topics. Highly recommend for those like me who are looking to improve their Python skills from a Systems Engineer to Software Engineer grade.
Thank you for your feedback
Sorry, there was an error
Sorry we couldn't load the review

Top reviews from the United States

  • 5 out of 5 stars
    Excellent Resource. Well written.
    Reviewed in the United States on September 29, 2021
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    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!

    7 people found this helpful
    Sending feedback...
    Thank you for your feedback.
    Sending feedback...
    Thanks, we'll investigate in the next few days.
  • 5 out of 5 stars
    Aptly Named, Fluent Python
    Reviewed in the United States on March 22, 2016
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    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.

    95 people found this helpful
    Sending feedback...
    Thank you for your feedback.
    Sending feedback...
    Thanks, we'll investigate in the next few days.
  • 5 out of 5 stars
    Great book if you want to know more than "How to" but "Why to"
    Reviewed in the United States on December 21, 2019
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    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.

    6 people found this helpful
    Sending feedback...
    Thank you for your feedback.
    Sending feedback...
    Thanks, we'll investigate in the next few days.
  • 4 out of 5 stars
    Fantastic book - slightly outdated for certain topics
    Reviewed in the United States on December 22, 2020
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    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.

    4 people found this helpful
    Sending feedback...
    Thank you for your feedback.
    Sending feedback...
    Thanks, we'll investigate in the next few days.
  • 5 out of 5 stars
    Excellent writing and explanations make this the best Python book I have found so far
    Reviewed in the United States on January 2, 2016
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    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.

    4 people found this helpful
    Sending feedback...
    Thank you for your feedback.
    Sending feedback...
    Thanks, we'll investigate in the next few days.
  • 5 out of 5 stars
    Fluent Python and Amazon network glitch ...
    Reviewed in the United States on May 4, 2020
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    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.

    2 people found this helpful
    Sending feedback...
    Thank you for your feedback.
    Sending feedback...
    Thanks, we'll investigate in the next few days.
  • 5 out of 5 stars
    The perfect book for intermediate programmers
    Reviewed in the United States on November 26, 2016
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    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.

    5 people found this helpful
    Sending feedback...
    Thank you for your feedback.
    Sending feedback...
    Thanks, we'll investigate in the next few days.
  • 5 out of 5 stars
    For Intermediate Programmer Trying to Solidify Their Understanding of Python
    Reviewed in the United States on March 28, 2016
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    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.

    4 people found this helpful
    Sending feedback...
    Thank you for your feedback.
    Sending feedback...
    Thanks, we'll investigate in the next few days.

Top reviews from other countries

    Translated by Amazon
    See original
  • 5 out of 5 stars
    Très technique
    Reviewed in France on October 12, 2015
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    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.

    Sending feedback...
    Thanks, we'll investigate in the next few days.
    Translated from French by Amazon
    See original
  • 3 out of 5 stars
    A bit slow but with interesting topics covered
    Reviewed in the Netherlands on April 15, 2017
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    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.

    Sending feedback...
    Thanks, we'll investigate in the next few days.
  • 5 out of 5 stars
    Denis V
    Reviewed in Spain on August 21, 2017
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    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.

    Sending feedback...
    Thanks, we'll investigate in the next few days.
    Translated from Spanish by Amazon
    See original
  • 5 out of 5 stars
    This should be your second book on Python
    Reviewed in Germany on February 15, 2018
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    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.

    Sending feedback...
    Thanks, we'll investigate in the next few days.
    Translated from German by Amazon
    See original
  • 1 out of 5 stars
    Failed to return item
    Reviewed in the United Arab Emirates on February 24, 2021
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    Failed to return item

    Sending feedback...
    Thanks, we'll investigate in the next few days.