contents user input and error handling reading user input data flexible user input with eval and exec reading data from files writing data to files handling errors in programs making modules arrays and plotting numpy and array computing plotting curves with matplotlib plotting discontinuous and piecewise-defined functions making movie of plot more useful array operations dictionaries and strings dictionaries examplea dictionary for polynomials examplereading file data to dictionary string manipulation classes basics of classes protected class attributes special methods exampleautomatic differentiation of functions test functions for classes examplea polynomial class object-oriented programming class hierarchies and inheritance exampleclasses for numerical differentiation exampleclasses for numerical integration index