introduced here--including timeitshelvepicklestructjsonpdbosurllibrexmlrandompydoc and idle--they are not officially in this book' primary scope if you're looking for more coverage on such topics and are already proficient with pythoni recommend the follow-up book programming pythonamong others that book assumes this one as its prerequisitethoughso be sure you have firm grasp of the core language first especially in an engineering domain like softwareone must walk before one runs it' not the short story for people in hurry as you can tell from its sizethis book also doesn' skimp on the detailsit presents the full python languagenot brief look at simplified subset along the way it also covers software principles that are essential to writing good python code as mentionedthis is multiple-week or -month bookdesigned to impart the skill level you' acquire from full-term class on python this is also deliberate many of this book' readers don' need to acquire full-scale software development skillsof courseand some can absorb python in piecemeal fashion at the same timebecause any part of the language may be used in code you will encounterno part is truly optional for most programmers moreovereven casual scripters and hobbyists need to know basic principles of software development in order to code welland even to use precoded tools properly this book aims to address both of these needs--language and principles--in enough depth to be useful in the endthoughyou'll find that python' more advanced toolssuch as its object-oriented and functional programming supportare relatively easy to learn once you've mastered their prerequisites--and you willif you work through this book one at time it' as linear as python allows speaking of reading orderthis edition also tries hard to minimize forward referencesbut python ' changes make this impossible in some cases (in fact sometimes seems to assume you already know python while you're learning it!as handful of representative examplesprintingsortsthe string format methodand some dict calls rely on function keyword arguments dictionary key lists and testsand the list calls used around many toolsimply iteration concepts using exec to run code now assumes knowledge of file objects and interfaces coding new exceptions requires classes and oop fundamentals xliv preface