Learning Python Design Patterns by Zlobin, Gennadiy (2013) Paperback