Python 3: Deep Dive (Part 4 - OOP)
What you'll learn
- Python Object Oriented Concepts
- Classes
- Methods and Binding
- Instance, Class and Static Methods
- Properties
- Property Decorators
- Single Inheritance
- Slots
- Descriptors
- Enumerations
- Exceptions
- Metaprogramming
Requirements
- Strong knowledge of functional Python
- Closures and Decorators
- Iterators, Iterables and Generators
- Mapping Types, Hashing
- Some exposure to basic OOP
Description
This Python3: Deep Dive Part 4 course takes a closer look at object oriented programming (OOP) in Python.
MAIN COURSE TOPICS
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)
COURSE PREREQUISITES
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.]
Who this course is for:
- Experienced intermediate Python developers who want a more in-depth understanding of Python OOP
Featured review
Instructor
Hi,
My name is Fred Baptiste.
I am a professional software engineer with over 25 years of experience.
I started my career with a PhD in mathematics and over the years have worked with a large variety of programming languages and technologies, including Python, Go, .Net (C# and VB), Java, C++, and JavaScript to name a few, databases including relational SQL databases such as MS SQL Server, Postgres and Snowflake, as well as No-SQL databases such as Clickhouse, DynamoDB, MongoDB, Couchbase and Neo4j, message queues such as RabbitMQ, ElasticMQ/SQS, and a variety of other technologies such as Airflow, Flink, DBT, Docker, Git, and many more.
I have focused on Python based development for the last 10 years, mainly in REST API development, automation, and data engineering.
I have spent a lot of time and effort learning and gaining an in-depth understanding of Python and writing idiomatic Python, and I'd like to share that with you. I also actively maintain my YouTube channel (mathbyteacademy) which provides a lot of additional in-depth Python development videos.
I'm definitely a Python enthusiast for many reasons, and I'd like to share that passion with you too!