Effective Python: 59 Specific Ways to Write Better Python (Effective Software Development Series)