Learn how to write idiomatic, effective Python code by leveraging its best features. Python's simplicity quickly lets you become productive with it, but this often means you aren't using everything the language has to offer. By taking you through Python's key language features and libraries, this practical book shows you how to make your code shorter, faster, and more readable all at the same time--what experts consider "Pythonic."Many programmers who learn Python basics fall into the trap of reinventing the wheel because of past experience in other languages, and try to bend the language to patterns that don't really apply to it. Author Luciano Ramalho, a Python Software Foundation member and Python programmer for 15 years, helps you drop your accent from another language so you can code Python fluently.Learn practical applications of generators for database processingRethink some design patterns in a Python contextExamine attribute descriptors and when to use them: the key to ORMsExplore Pythonic objects: protocols versus interfaces, abstract base classes and multiple inheritance