Example code for the book Fluent Python, 2nd edition by Luciano Ramalho (O'Reilly, 2020).
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 | Notebook | 1st ed. Chapter # |
---|---|---|---|---|
I – Prologue | ||||
1 | The Python Data Model | 01-data-model | data-model.ipynb | 1 |
II – Data Structures | ||||
2 | An Array of Sequences | 02-array-seq | array-seq.ipynb | 2 |
3 | Dictionaries and Sets | 03-dict-set | 3 | |
4 | Text versus Bytes | 04-text-byte | 4 | |
🆕 5 | Record-like Data Structures | 05-record-like | – | |
III – Functions as Objects | ||||
6 | First-Class Funcions | 06-1class-func | 5 | |
7 | Design Patterns with First-Class Functions | 07-dp-1class-func | 6 | |
8 | Function Decorators and Closures | 08-closure-deco | 7 | |
🆕 9 | Type Hints in Function Definitions | 09-def-type-hints | – | |
IV – Object-Oriented Idioms | ||||
10 | Object References, Mutability, and Recycling | 10-obj-ref | 8 | |
11 | A Pythonic Object | 11-pythonic-obj | 9 | |
12 | Sequence Hacking, Hashing, and Slicing | 12-seq-hacking | 10 | |
13 | Interfaces: From Protocols to ABCs | 13-iface-abc | 11 | |
14 | Inheritance: For Good or For Worse | 14-inheritance | 12 | |
🆕 15 | Type Hints Distilled | 15-type-hints | – | |
16 | Operator Overloading: Doing It Right | 16-op-overloading | 13 | |
V – Control Flow | ||||
17 | Iterables, Iterators, and Generators | 17-it-generator | 14 | |
18 | Context Managers and else Blocks | 18-context-mngr | 15 | |
19 | Coroutines | 19-coroutine | 16 | |
20 | Concurrency with Futures | 20-futures | 17 | |
21 | Concurrency with asyncio | 21-asyncio | 18 | |
VI – Metaprogramming | ||||
22 | Dynamic Attributes and Properties | 22-dyn-attr-prop | 19 | |
23 | Attribute Descriptors | 23-descriptor | 20 | |
24 | Class Metapgrogramming | 24-class-metaprog | 21 |