Example code for the book Fluent Python, Second Edition by Luciano Ramalho (O'Reilly, 2022).
All chapters are undergoing review and updates, including significant rewrites in the chapters about concurrency in * Part V*.
New chapters in Fluent Python 2e are marked with 🆕.
🚨 This table of contents is subject to change at any time until the book goes to the printer.
Latest change: Old Part I—Prologue merged into new Part I—Data Structures; parts renumbered accordingly; chapter numbers unchanged.
Part / Chapter # |Title|Directory|1<sup>st</sup> ed. Chapter #
---------------------------------:|---|---|:---: I – Data Structures | 1 |The Python Data Model|01-data-model|1 2 |An Array of Sequences|02-array-seq|2 3 |Dictionaries and Sets|03-dict-set|3 4 |Unicode Text versus Bytes|04-text-byte|4 5 |Data Class Builders|05-data-classes|🆕 6 |Object References, Mutability, and Recycling|06-obj-ref|8 II – Functions as Objects | 7 |Funcions as First-Class Objects|07-1class-func|5 8 |Type Hints in Functions|08-def-type-hints|🆕 9 |Decorators and Closures|09-closure-deco|7 10 |Design Patterns with First-Class Functions|10-dp-1class-func|6 III – Object-Oriented Idioms | 11 |A Pythonic Object|11-pythonic-obj|9 12 |Special Methods for Sequences|12-seq-hacking|10 13 |Interfaces, Protocols, and ABCs|13-protocl-abc|11 14 |Inheritance: For Better or For Worse|14-inheritance|12 15 |More About Type Hints|15-more-types|🆕 16 |Operator Overloading|16-op-overloading|13 IV – Control Flow | 17 |Iterators, Generators, and Classic Coroutines|17-it-generator|14 18 |with, match, and else Blocks|18-with-match|15 19 |Concurrency Models in Python|19-concurrency|🆕 20 |Concurrent Executors|20-executors|17 21 |Asynchronous Programming|21-async|18 V – Metaprogramming | 22 |Dynamic Attributes and Properties|22-dyn-attr-prop|19 23 |Attribute Descriptors|23-descriptor|20 24 |Class Metaprogramming|24-class-metaprog|21