Python Object Oriented Programming (OOP): Beginner to Pro
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
- A computer (Windows/Mac/Linux). That's all!
- Prepare to write thousands of lines of Python code
- No prior knowledge of python is required
Welcome to the best resource online and the only one you need to learn and master object-oriented programming with modern 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.
––––– Structure & Curriculum –––––
The curriculum is organized around three parts of increasing target proficiency.
In the first, we will cover the essential foundations of working with classes in python, defining our own types, customizing them using dunders, exposing managed attributes through properties and effectively using inheritance.
Having established that core foundation, in the next five sections, we will dive into more advanced topics that effective python developers rely on. These include modern features like dataclasses, enumerations and slots but also more established, pivotal constructs like descriptors and exceptions.
Then in the final four sections we will take a look under the hood at how python recognizes and works with types. We will explore, practice and implement several patterns including duck typing, dynamic protocols and abstract base classes. Finally, we will look at the internal machinery that produces classes in python, as we turn our attention to class metaprogramming.
· Dynamic Protocols
· Abstract Base Classes
· Multiple Inheritance
· Class Metaprogramming
This course is intended for anyone who is committed to mastering object-oriented programming with python, regardless of prior experience, which is why a full-length bonus introduction to the python programming language is included to get anyone up and running writing pythonic code in no time.
I hope you commit to joining me in this journey as we take your python to the next level. See you inside!
Who this course is for:
- Everyone interested in learning and mastering object-oriented python from the ground up
- Learners with some Python experience who want to take their skill to the next level
- Python developers who want to gain a deeper understanding
Hi! I'm Andy, a freelance software developer and capital markets consultant based in Toronto, Ontario. I've spent close to a decade working with data, using code to automate business workflows, and consulting financial institutions on data-intensive applications.
Although I'm comfortable in a number of programming languages, for me nothing beats python on a ROIE (return on invested effort) basis. It is my go-to language in my consulting work and also my focus here on Udemy.
Aside from teaching, I specialize in consulting financial institutions in post-trade services technology.