Tutorials

The How and Why of Object-oriented Programming in Python

Thursday, May 14th, 2026 9 a.m.–12:30 p.m. in Room 102B

Presented by

Mike Müller

Description

Python supports multiple programming paradigms. You can write procedural programs, use functional programming features, or use the full power of object-oriented programming.

In this tutorial, you will learn how to get the most out of object-oriented programming. After this tutorial, you will be able to:

  • Design your own objects
  • Take advantage of inheritance for code reuse
  • Implement special methods for Pythonic objects
  • Convert programs from a procedural to an object-oriented approach

This tutorial is based on a small but comprehensive example. Starting from a procedural solution, the tutorial gradually introduces how to create your own objects to solve the same problem. The next steps introduce the concepts of inheritance and special methods to take full advantage of object-oriented programming.

This hands-on tutorial provides a practical introduction to object-oriented programming (OOP) in Python. Through a carefully designed example, participants will experience the evolution from procedural to object-oriented code, understanding not just the "how" but also the "why" of OOP.

You will learn:

  • How to design and implement custom classes in Python
  • When and why to use object-oriented programming versus procedural approaches
  • How to leverage inheritance to create reusable, maintainable code
  • How to implement special methods (__init__, __repr__, __lt__, etc.) to make your objects behave like built-in Python types
  • How to analyze problems and identify appropriate classes and methods
  • How to adapt your object-oriented designs when requirements change

The tutorial uses a progressive teaching approach: we start with a working procedural solution and gradually transform it into an object-oriented design. This allows you to see the benefits of OOP firsthand and understand when it's worth the additional structure. All concepts are taught through live coding demonstrations, followed by hands-on exercises where you'll apply what you've learned.

Search