Python Descriptors - Jacob Zimmerman (Springer, 2018)