Python Object-Oriented Programming - Fourth Edition: Build robust and maintainable object-oriented Python applications and libraries - Steven F. Lott