10. Object-Oriented Programming

Objectives

  • Create custom classes and objects of those classes.
  • Understand the benefits of crafting valuable classes.
  • Control access to attributes.
  • Appreciate the value of object orientation.
  • Use Python special methods __repr__, __str__ and __format__ to get an object’s string representations.

Objectives (cont.)

  • Use Python special methods to overload (redefine) operators to use them with objects of new classes.
  • Inherit methods, properties and attributes from existing classes into new classes, then customize those classes.
  • Understand the inheritance notions of base classes (superclasses) and derived classes (subclasses).

Objectives (cont.)

  • Understand duck typing and polymorphism that enable “programming in the general.”
  • Understand class object from which all classes inherit fundamental capabilities.
  • Compare composition and inheritance.
  • Build test cases into docstrings and run these tests with doctest,
  • Understand namespaces and how they affect scope.

Outline


©1992–2020 by Pearson Education, Inc. All Rights Reserved. This content is based on Chapter 5 of the book Intro to Python for Computer Science and Data Science: Learning to Program with AI, Big Data and the Cloud.

DISCLAIMER: The authors and publisher of this book have used their best efforts in preparing the book. These efforts include the development, research, and testing of the theories and programs to determine their effectiveness. The authors and publisher make no warranty of any kind, expressed or implied, with regard to these programs or to the documentation contained in these books. The authors and publisher shall not be liable in any event for incidental or consequential damages in connection with, or arising out of, the furnishing, performance, or use of these programs.