Example code for the book Fluent Python, 2nd edition by Luciano Ramalho (O'Reilly, 2021).
BEWARE: This is a work in progress!
Code here may change and disappear without warning.
Major reorganizations may happen at any time.
No promises. No guarantees. Use at own risk.
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.
Part / Chapter # | Title | Directory | 1st ed. Chapter # |
---|---|---|---|
I – Prologue | |||
1 | The Python Data Model | 01-data-model | 1 |
II – Data Structures | |||
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 |
III – Functions as Objects | |||
7 | Funcions as First-Class Objects | 07-1class-func | 5 |
8 | Type Hints in Function Definitions | 08-def-type-hints | 🆕 |
9 | Function Decorators and Closures | 09-closure-deco | 7 |
10 | Design Patterns with First-Class Functions | 10-dp-1class-func | 6 |
IV – Object-Oriented Idioms | |||
11 | A Pythonic Object | 11-pythonic-obj | 9 |
12 | Sequence Hacking, Hashing, and Slicing | 12-seq-hacking | 10 |
13 | Interfaces, Protocols, and ABCs | 13-protocl-abc | 11 |
14 | Inheritance: For Good or For Worse | 14-inheritance | 12 |
15 | More About Type Hints | 15-more-types | 🆕 |
16 | Operator Overloading: Doing It Right | 16-op-overloading | 13 |
V – Control Flow | |||
17 | Iterators, Generators, and Classic Coroutines | 17-it-generator | 14 |
18 | Context Managers 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 |
VI – Metaprogramming | |||
22 | Dynamic Attributes and Properties | 22-dyn-attr-prop | 19 |
23 | Attribute Descriptors | 23-descriptor | 20 |
24 | Class Metaprogramming | 24-class-metaprog | 21 |