O'Reilly logo

Introduction to Computing Using Python: An Application Development Focus by Ljubomir Perkovic

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

CHAPTER 8

Object-Oriented Programming

8.1 Defining a New Python Class

8.2 Examples of User-Defined Classes

8.3 Designing New Container Classes

8.4 Overloaded Operators

8.5 Inheritance

8.6 User-Defined Exceptions

8.7 Case Study: Indexing and Iterators

Chapter Summary

Solutions to Practice Problems

Exercises

Problems

THIS CHAPTER DESCRIBES how to implement new Python classes and introduces object-oriented programming (OOP).

There are several reasons why programming languages such as Python enable developers to define new classes. Classes that are custom-built for a particular application will make the application program more intuitive and easier to develop, debug, read, and maintain.

The ability to create new classes also enables a new approach to structuring application programs. A function exposes to the user its behavior but encapsulates (i.e., hides) its implementation. Similarly, a class exposes to the user the methods that can be applied to objects of the class (i.e., class instances) but encapsulates how the data contained in the objects is stored and how the class methods are implemented. This property of classes is achieved thanks to fine-grained, customized namespaces that are associated with every class and object. OOP is a software development paradigm that achieves modularity and code portability by organizing application programs around components that are classes and objects.

8.1 Defining a New Python Class

We now explain how to define a new class in Python. The first ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required