# 4. Classes and Objects So far, our programs have only used built-in Python datatypes. In this section, we introduce the concept of classes and objects. You'll learn about the `class` statement that allows you to make new objects. We'll also introduce the concept of inheritance, a tool that is commonly use to build extensible programs. Finally, we'll look at a few other features of classes including special methods, dynamic attribute lookup, and defining new exceptions. * [4.1 Introducing Classes](01_Class.md) * [4.2 Inheritance](02_Inheritance.md) * [4.3 Special Methods](03_Special_methods.md) * [4.4 Defining new Exception](04_Defining_exceptions.md) [Contents](../Contents.md)