# Fluent Python 2e example code 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. ## Table of Contents All chapters are undergoing review and updates, including significant rewrites in the chapters about concurrency in **Part V**. New chapters in **Fluent Python 2nd edition** 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 edition Chapter # ---:|---|---|:---: **I – Prologue**| 1|The Python Data Model|[01-data-model](01-data-model)|1 **II – Data Structures**| 2|An Array of Sequences|[02-array-seq](02-array-seq)|2 3|Dictionaries and Sets|[03-dict-set](03-dict-set)|3 4|Text versus Bytes|[04-text-byte](04-text-byte)|4 5|Record-like Data Structures|[05-record-like](05-record-like)|🆕 6|Object References, Mutability, and Recycling|[06-obj-ref](06-obj-ref)|8 **III – Functions as Objects**| 7|First-Class Funcions|[07-1class-func](07-1class-func)|5 8|Type Hints in Function Definitions|[08-def-type-hints](08-def-type-hints)|🆕 9|Function Decorators and Closures|[09-closure-deco](09-closure-deco)|7 10|Design Patterns with First-Class Functions|[10-dp-1class-func](10-dp-1class-func)|6 **IV – Object-Oriented Idioms**| 11|A Pythonic Object|[11-pythonic-obj](11-pythonic-obj)|9 12|Sequence Hacking, Hashing, and Slicing|[12-seq-hacking](12-seq-hacking)|10 13|Interfaces, Protocols, and ABCs|[13-protocl-abc](13-protocol-abc)|11 14|Inheritance: For Good or For Worse|[14-inheritance](14-inheritance)|12 15|More About Type Hints|15-more-typing|🆕 16|Operator Overloading: Doing It Right|[16-op-overloading](16-op-overloading)|13 **V – Control Flow**| 17|Iterables, Iterators, and Generators|[17-it-generator](17-it-generator)|14 18|Context Managers and else Blocks|[18-context-mngr](18-context-mngr)|15 19|Classic Coroutines|[19-coroutine](19-coroutine)|16 20|Concurrency Models in Python|[20-concurrency](20-concurrency)|🆕 21|Concurrency with Futures|[21-futures](21-futures)|17 22|Asynchronous Programming|[22-async](22-async)|18 **VI – Metaprogramming**| 23|Dynamic Attributes and Properties|[23-dyn-attr-prop](23-dyn-attr-prop)|19 24|Attribute Descriptors|[24-descriptor](24-descriptor)|20 25|Class Metaprogramming|[25-class-metaprog](25-class-metaprog)|21