Programming Python : powerful object-oriented programming / - Lutz, Mark, (O'reilly,, 2010)