Skip to Content
View all events

Pythonic Object-Oriented Programming

Published by O'Reilly Media, Inc.

Beginner to intermediate content levelBeginner to intermediate

Course Outcomes:

  • Confidently write useful classes, and modify them for new requirements
  • Understand the unique aspects of Python’s object system, and how they are useful in real-world software
  • Read and clearly understand that were generated by you, other humans, or by AI

Writing software is a brutal war with complexity. Object-oriented programming (OOP) is your most powerful tool to fight back and win - especially in the age of AI. If you code in Python, but never mastered OOP, this course is for you. You will gain a solid understanding of foundational OOP concepts like inheritance, polymorphism, and composition... and how to express them in Python's rich (and unique!) object system.

You'll build on your Python knowledge to leverage the benefits of OOP for code reuse, modularity, flexibility, and encapsulation. And you'll be delighted by your sudden ability to write more powerful, complex, and impactful software than ever before.

What most do not realize is that OOP does not just organize your code. It organizes how you THINK about your code. This gives you a tremendous advantage when you are working with coding agents, and want to confidently understand and assess generated code.

Whether you use AI or not, OOP will dramatically increase the quality and scope of software you create... In Python, and every other language you use in the future.

This live event is for you because...

  • You’re a technology professional who writes Python code, part-time or full-time
  • You need to critically evaluate object-oriented Python code
  • You want to confidently use Python’s particular style of OOP

Prerequisites

  • Able to write simple Python scripts using functions, lists and dicts.
  • Able to execute Python programs, either on the command-line or in an IDE.
  • Knowledge of classes is NOT required.

Course Preparation:

Write and execute “hello world” in Python. If you can do that, your machine is set up and ready for the course.

Course Follow-Up:

Schedule

The time frames are only estimates and may vary according to how the class is progressing.

Section 1: Foundations

  • Quick Review Of Python Class Syntax (10 min)
  • Lab: helloclasses.py (10 min)
  • Optional reading for those who finish early: “Miller’s Law and OOP”
  • The Single-Responsibility Principle (20 min)
  • Q&A: 5 min
  • Break: 10 min

Section 2: Inheritance

  • Inheritance and "is-a" relationships (20 min)
  • inheritance.py lab (10 min)
  • Optional inheritance_extra.py lab for those who finish early
  • Q&A (5 min)

Python Interfaces (15 min)

  • Break (10 min)

Section 3: Advanced Methods

  • Methods And Inheritance (20 min)
  • Encapsulation And Data Hiding (15 min)
  • Lab: webviews.py (10 min)
  • Optional reading for those who finish early: “Engineering First Principles”
  • Q&A (5 min)
  • Break (10 min)

Section 4: Advanced Python OOP Features

  • Python Properties (20 min)
  • Lab: properties.py (10 min)
  • Optional properties_extra.py lab for those who finish early
  • Factories, Class Methods And Static Methods (20 min)
  • Final Q&A (10 min)

Your Instructor

  • Aaron Maxwell

    Aaron Maxwell is author of the book "Powerful Python: The Most Impactful Patterns, Features, and Development Strategies Modern Python Provides." As a software engineer, he has worked in devops, test automation, and machine learning, and now divides his time between coding, writing, and teaching

    Xlinksearch

Skills covered

  • Python
  • NumPy
  • Object-Oriented Architecture