Python Unlocked (2015)
Chapter 2. Namespaces and Classes
Chapter 3. Functions and Utilities
Chapter 4. Data Structures and Algorithms
Chapter 5. Elegance with Design Patterns
Chapter 6. Test-Driven Development
Chapter 7. Optimization Techniques