Object Oriented Programming with Modern Python
Deep Foundations From Absolute Scratch
Created by Andy Bek | 26.5 hours on-demand video course
Welcome to the best resource online and the only one you need to learn and master object-oriented programming with python! There has never been a better time to learn python. It is consistently ranked in the top 3 most in-demand and most-loved programming languages in the world, with applications in machine learning, web development, data science, automation, game development, and much more. And its growth shows no signs of stopping. But while there are plenty of resources to learn the basics of python, it is quite difficult to move past those to the intermediate and advanced facets of the language. This course seeks to address that.
Over more than 20 hours of detailed lectures, live coding, and guided projects we will unpack everything that python has to offer, starting from absolute scratch. We will master not only object-oriented python and how to use it, but in the process also gain an understanding of the python data model and the essence of writing pythonic code.
Every five to ten lectures we will stop and practice what we have covered, as we work through a list of detailed requirements and convert that to an object-oriented solution using nothing by zero-dependencies, pure python.
What you’ll learn
- Learn Python object-oriented programming from the ground up with in-depth lectures and practice activities
- Work through 16 detailed project assignments to put your learning to practice
- Write your own classes with customized behavior, representation, and relationships
- Understand inheritance and multiple inheritance including best practices and the ideal use cases
- Understand modern language constructs like dataclasses, enumerations, slots, and more
- Master the Pythonic style of working with types, built-ins, and their derivatives
- Get a deep understanding of the more difficult parts including descriptors, abstract base classes and metaprogramming
- Create your own version of data structures with special behaviour, e.g. a list that sorts itself, or a dictionary that never raises KeyError
- Work effectively with the exceptions and define your own separate exception hierarchies