preface object-oriented design vii objects in python introducing object-oriented objects and classes specifying attributes and behaviors data describes objects behaviors are actions hiding details and creating the public interface composition inheritance inheritance provides abstraction multiple inheritance case study exercises summary creating python classes adding attributes making it do something talking to yourself more arguments initializing the object explaining yourself modules and packages organizing the modules organizing module contents absolute imports relative imports [