Python 3: Deep Dive (Part 4 - OOP)

Python Object Oriented Programming (OOP)
31,582 Students enrolled
3058 reviews
  • Description
  • Curriculum
  • FAQ

This Python3: Deep Dive Part 4 course takes a closer look at object oriented programming (OOP) in Python.


  • what are classes and instances

  • class data and function attributes

  • properties

  • instance, class and static methods

  • polymorphism and the role special functions play in this

  • single inheritance

  • slots

  • the descriptor protocol and its relationship to properties and functions

  • enumerations

  • exceptions

  • metaprogramming (including metaclasses)


Please note this is NOT a beginner level course. You must have a strong working knowledge of functional Python programming as well as some practical experience developing Python applications in order to fully benefit from this course.

  • In-depth functional Python programming

  • functions, closures, scopes, decorators (using and writing them)

  • zip, sorted, any, all, and the itertools module in general

  • sequences, iterables, iterators and generators (what they are and how to implement the corresponding protocols)

  • generators, yield, and context managers

  • mapping types, hashing and relation to object equality

  • some prior knowledge of basic OOP concepts

  • know how to work with Python virtual environments and pip install

  • available Jupyter Notebook (freely available) to follow along with the course notebooks

  • how to use git

[Please note that this is not a cookbook style course – I don’t show you how to solve specific problems, but rather a broad and in-depth look at how OOP works in the context of Python, that will allow you to apply these concepts and techniques to your own problems.]

How long do I have access to the course materials?
You can view and review the lecture materials indefinitely, like an on-demand channel.
Can I take my courses with me wherever I go?
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!