diff --git a/README.md b/README.md index 7d786e1..2cfa562 100644 --- a/README.md +++ b/README.md @@ -18,36 +18,36 @@ 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 # +Part / Chapter #|Title|Directory|1st ed. Chapter # ---:|---|---|---|:---: **I – Prologue**| -1|The Python Data Model|[01-data-model](01-data-model)|[data-model.ipynb](01-data-model/data-model.ipynb)|1 +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)|[array-seq.ipynb](02-array-seq/array-seq.ipynb)|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 +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 +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-types](15-more-types)||– -16|Operator Overloading: Doing It Right|[16-op-overloading](16-op-overloading)||13 +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-types](15-more-types)|🆕 +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 +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|[22-dyn-attr-prop](22-dyn-attr-prop)||19 -24|Attribute Descriptors|[23-descriptor](23-descriptor)||20 -25|Class Metaprogramming|[24-class-metaprog](24-class-metaprog)||21 +23|Dynamic Attributes and Properties|[22-dyn-attr-prop](22-dyn-attr-prop)|19 +24|Attribute Descriptors|[23-descriptor](23-descriptor)|20 +25|Class Metaprogramming|[24-class-metaprog](24-class-metaprog)|21