Fluent Python
Fluent Python
Chapter 1: The Python Data Model
Chapter 2: An Array of Sequences
Chapter 3: Dictionaries and Sets
Chapter 4: Text versus Bytes
Chapter 5: First-Class Functions
Chapter 6: Design Patterns with First-Class Functions
Chapter 7: Function Decorators and Closures
Chapter 8: Object References, Mutability, and Recycling
Chapter 9: A Pythonic Object
Chapter 10: Sequence Hacking, Hashing, and Slicing
Chapter 11: Interfaces - From Protocols to ABCs
Chapter 12: Inheritance - For Good or For Worse
Chapter 13: Operator Overloading - Doing it Right
Chapter 14: Iterables, Iterators, and Generators
Chapter 15: Context Managers and else Blocks
Chapter 16: Coroutines
Chapter 17: Concurrency with Futures
Chapter 18: Concurrency with asyncio
Chapter 19: Dynamic Attributes and Properties
Chapter 20: Attribute Descriptors
Chapter 21: Class Metaprogramming
Appendix: Doctest