- Paperback: 770 pages
- Publisher: O'Reilly Media, Inc, USA; 1 edition (28 August 2015)
- Language: English
- ISBN-10: 1491946008
- ISBN-13: 978-1491946008
- Product Dimensions:: 17.8 x 4 x 23.3 cm
- Shipping Weight: 1.4 Kg
- Customer reviews: 174 customer ratings
Amazon Best Sellers Rank:
40,097 in Books (See Top 100 in Books)
- #230 in Programming Languages
Fluent Python: Clear, Concise, and Effective Programming Paperback – 28 August 2015
|New from||Used from|
Frequently bought together
Customers who viewed this item also viewed
About the Author
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.
Customers who bought this item also bought
No customer reviews
|5 star (0%)||0%|
|4 star (0%)||0%|
|3 star (0%)||0%|
|2 star (0%)||0%|
|1 star (0%)||0%|
Review this product
Most helpful customer reviews on Amazon.com
Fluent Python skips over the basics, which you can easily get online with any tutorial, and rapidly points to Python-specific features rarely present in other languages, Python implementation details and their rationale along with additional external references such as articles or blog posts for those interested in learning more about the subject. It really felt like a treasure box to me.
So many programming books simply describe a language feature and call it a day. I found M. Ramalho's approach infinitely more useful for a professional developer. It also shows alternative expert opinions, where a particular feature may be useful or not, etc. It's an approach that is not as clean or as concise, but engineering rarely is and Python knowledge is no exception.
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.
The beginning pages of the books makes it clear who it is for and isn't. If you looking to upgrade your Python, this is THE book. You should have some experience with Python and be comfortable with reading code to get the most out of the book.