Exercises

This laboratory session asks you to write a few classes and experiment with some existing code. Of course, the problem with existing code is that it must be existing. To work with the set class in Exercise 5, either pull down the class source code off the Internet (see the Preface) or type it up by hand (it’s fairly small). These programs are starting to get more sophisticated, so be sure to check the solutions at the end of the book for pointers. If you’re pressed for time, we suspect that the last exercise dealing with composition will probably be the most fun of the bunch (of course, we already know the answers).

  1. The basics. Write a class called Adder that exports a method add(self, x, y) that prints a “Not Implemented” message. Then define two subclasses of Adder that implement the add method:

    • ListAdder, with an add method that returns the concatenation of its two list arguments

    • DictAdder, with an add method that returns a new dictionary with the items in both its two dictionary arguments (any definition of addition will do)

    Experiment by making instances of all three of your classes interactively and calling their add methods. Finally, extend your classes to save an object in a constructor (a list or a dictionary) and overload the + operator to replace the add method. Where is the best place to put the constructors and operator overload methods (i.e., in which classes)? What sorts of objects can you add to your class instances?

  2. Operator overloading. Write a class called ...

Get Learning Python now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.