this part begins our look at python' higher-level program structure tools functions turn out to be simple way to package code for reuse and avoid code redundancy in this partwe will explore python' scoping rulesargument-passing techniquesthe sometimes-notorious lambdaand more we'll also revisit iterators from functional programming perspectiveintroduce user-defined generatorsand learn how to time python code to measure performance here part python modules let you organize statements and functions into larger componentsand this part illustrates how to createuseand reload modules we'll also look at some more advanced topics heresuch as module packagesmodule reloadingpackage-relative imports ' new namespace packagesand the __name__ variable part vi herewe explore python' object-oriented programming toolthe class--an optional but powerful way to structure code for customization and reusewhich almost naturally minimizes redundancy as you'll seeclasses mostly reuse ideas we will have covered by this point in the bookand oop in python is mostly about looking up names in linked objects with special first argument in functions as you'll also seeoop is optional in pythonbut most find python' oop to be much simpler than othersand it can shave development time substantiallyespecially for long-term strategic project development part vii we conclude the language fundamentals coverage in this text with look at python' exception handling model and statementsplus brief overview of development tools that will become more useful when you start writing larger programs (debugging and testing toolsfor instancealthough exceptions are fairly lightweight toolthis part appears after the discussion of classes because user-defined exceptions should now all be classes we also cover some more advanced topicssuch as context managershere part viii in the final partwe explore some advanced topicsunicode and byte stringsmanaged attribute tools like properties and descriptorsfunction and class decoratorsand metaclasses these are all optional readingbecause not all programmers need to understand the subjects they address on the other handreaders who must process internationalized text or binary dataor are responsible for developing apis for other programmers to useshould find something of interest in this part the examples here are also larger than most of those in this bookand can serve as self-study material part ix the book wraps up with set of four appendixes that give platform-specific tips for installing and using python on various computerspresent the new windows xlii preface