contents standard output control structures selection constructs repetition constructs collections strings lists tuples dictionaries text files file access writing to files reading from files user-defined functions the function definition variable scope main routine appendix buser-defined modules structured programs namespaces appendix cexceptions catching exceptions raising exceptions standard exceptions assertions appendix dclasses the class definition constructors operations using modules hiding attributes overloading operators inheritance deriving child classes creating class instances invoking methods polymorphism