Skip to main content
CF

Python 3: Deep Dive (Part 4 - OOP)

35h 15m 32s
English
Paid

Python 3: Deep Dive (Part 4 - OOP) is a 162-lesson 35 hours 15 minutes self-paced course by Udemy. Python object oriented programming (OOP).

Course facts

Lessons
162
Duration
35 hours 15 minutes
Level
All levels
Language
English
Updated
Instructor
Udemy
Price
Premium
Python object oriented programming (OOP).

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.]

Requirements:
  • Strong knowledge of functional Python
  • Closures and Decorators
  • Iterators, Iterables and Generators
  • Mapping Types, Hashing
  • Some exposure to basic OOP
Who this course is for:
  • Experienced intermediate Python developers who want a more in-depth understanding of Python 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

Who teaches Python 3: Deep Dive (Part 4 - OOP)? Udemy

Udemy thumbnail

Udemy is the largest open marketplace for online courses on the internet. Founded in 2010 by Eren Bali, Oktay Caglar, and Gagan Biyani and headquartered in San Francisco, the company went public on the Nasdaq in 2021 under the ticker UDMY. The platform hosts well over two hundred thousand courses across software development, IT and cloud, data science, design, business, marketing, and creative skills, taught by tens of thousands of independent instructors. Roughly seventy million learners use it worldwide, and the corporate arm — Udemy Business — supplies a curated subset of that catalog to enterprise customers.

Because Udemy is a marketplace rather than a single editorial publisher, the catalog is uneven by design. The strongest material lives in the long-form, project-based courses authored by working engineers — full-stack JavaScript, React, Node.js, Python data science, AWS, Docker and Kubernetes, mobile development with Flutter and React Native, and cloud certification preparation. The CourseFlix listing under this source is the slice of that catalog that has been mirrored here for offline-friendly viewing, organized by topic and updated as new releases land. Pricing on Udemy itself swings dramatically with the site's near-permanent sales, which is why the platform is best treated as a deep reference catalog: pick instructors with strong reviews and a track record of updating their material rather than buying on the headline price alone.

What lessons are included in Python 3: Deep Dive (Part 4 - OOP)?

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 162 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: Introduction
All Course Lessons (162)
#Lesson TitleDurationAccess
1
Introduction Demo
05:56
2
Prerequisites
08:36
3
Introduction
02:28
4
Objects and Classes - Lecture
10:50
5
Objects and Classes - Coding
04:04
6
Class Attributes - Lecture
13:09
7
Class Attributes - Coding
12:17
8
Callable Class Attributes - Lecture
02:24
9
Callable Class Attributes - Coding
03:08
10
Classes are Callables - Lecture
03:19
11
Classes are Callables - Coding
06:30
12
Data Attributes - Lecture
05:21
13
Data Attributes - Coding
11:30
14
Function Attributes - Lecture
12:36
15
Function Attributes - Coding
20:16
16
Initializing Class Instances - Lecture
06:17
17
Initializing Class Instances - Coding
05:51
18
Creating Attributes at Run-Time - Lecture
05:36
19
Creating Attributes at Run-Time - Coding
20:47
20
Properties - Lecture
16:50
21
Properties - Coding
23:32
22
Property Decorators - Lecture
12:08
23
Property Decorators - Coding
31:07
24
Read-Only and Computed Properties - Lecture
06:49
25
Read-Only and Computed Properties - Coding
24:58
26
Deleting Properties - Lecture
06:10
27
Deleting Properties - Coding
05:14
28
Some Questions on the Property Class
03:05
29
Class and Static Methods - Lecture
11:08
30
Class and Static Methods - Coding
31:00
31
Python Builtin and Standard Types
03:25
32
Class Body Scope - Lecture
05:19
33
Class Body Scope - Coding
14:37
34
Quick Recap
04:07
35
Project Description
10:54
36
Project Solution - TimeZone
15:30
37
Project Solution - Transaction Numbers
08:57
38
Project Solution - Account Numbers, Names
14:49
39
Project Solution - Preferred TimeZone
04:09
40
Project Solution - Account Balance
04:16
41
Project Solution - Interest Rate
08:29
42
Project Solution - Transaction Codes
02:49
43
Project Solution - Confirmation Codes
28:18
44
Project Solution - Transactions
23:04
45
Project Solution - Testing with unittest
50:53
46
Introduction
04:58
47
__str__ and __repr__ Methods - Lecture
03:48
48
__str__ and __repr__ Methods - Coding
08:24
49
Arithmetic Operators - Lecture
04:53
50
Arithmetic Operators - Coding
37:02
51
Rich Comparisons - Lecture
01:30
52
Rich Comparisons - Coding
18:03
53
Hashing and Equality - Lecture
01:54
54
Hashing and Equality - Coding
08:33
55
Booleans - Lecture
01:39
56
Booleans - Coding
08:27
57
Callables - Lecture
01:53
58
Callables - Coding
37:44
59
The __del__ Method - Lecture
03:55
60
The __del__ Method - Coding
15:09
61
The __format__ Method - Lecture
02:01
62
The __format__ Method - Coding
08:02
63
Project Description
06:37
64
Project Solution
31:42
65
Introduction
01:15
66
Single Inheritance - Lecture
18:23
67
Single Inheritance - Coding
11:20
68
The object Class - Lecture
04:48
69
The object Class - Coding
09:58
70
Overriding - Lecture
11:43
71
Overriding - Coding
14:00
72
Extending - Lecture
00:56
73
Extending - Coding
16:39
74
Delegating to Parent - Lecture
12:29
75
Delegating to Parent - Coding
27:21
76
Slots - Lecture
07:14
77
Slots - Coding
05:17
78
Slots and Single Inheritance - Lecture
08:08
79
Slots and Single Inheritance - Coding
15:09
80
Project 3 - Description
08:33
81
Project Solution - Approach and Setup
12:56
82
Project Solution - Validators and tests
21:44
83
Project Solution - Resources class and tests
40:05
84
Project Solution - CPU class and tests
09:09
85
Project Solution - Storage class and tests
01:59
86
Project Solution - HDD and SSD classes and tests
05:09
87
Introduction
01:15
88
Descriptors - Lecture
08:23
89
Descriptors - Coding
09:19
90
Getters and Setters - Lecture
08:16
91
Getters and Setters - Coding
21:43
92
Using as Instance Properties - Lecture
06:26
93
Using as Instance Properties - Coding
22:09
94
Strong and Weak References - Lecture
07:31
95
Strong and Weak References - Coding
20:07
96
Back to Instance Properties - Lecture
03:37
97
Back to Instance Properties - Coding
35:35
98
The __set_name__ Method - Lecture
03:05
99
The __set_name__ Method - Coding
17:41
100
Property Lookup Resolution - Lecture
04:43
101
Property Lookup Resolution - Coding
11:45
102
Properties and Descriptors - Lecture
02:39
103
Properties and Descriptors - Coding
21:26
104
Application - Example 1
11:20
105
Application - Example 2
34:25
106
Functions and Descriptors - Lecture
01:50
107
Functions and Descriptors - Coding
16:59
108
Project Description
03:22
109
Solution - Part 1
42:36
110
Solution - Part 2
08:08
111
Introduction
01:01
112
Making the case for Enumerations
08:12
113
Enumerations - Lecture
09:48
114
Enumerations - Coding
19:51
115
Aliases - Lecture
04:49
116
Aliases - Coding
09:20
117
Customizing/Extending Enums - Lecture
03:51
118
Customizing/Extending Enums - Coding
36:31
119
Automatic Values - Lecture
04:51
120
Automatic Values - Coding
21:57
121
Project Description
04:28
122
Project Solution
11:43
123
Introduction
01:20
124
Python Exceptions - Lecture
13:35
125
Python Exceptions - Coding
20:41
126
Handling Exceptions - Lecture
17:42
127
Handling Exceptions - Coding
56:21
128
Raising Exceptions - Lecture
06:19
129
Raising Exceptions - Coding
16:30
130
Custom Exceptions - Lecture
07:47
131
Custom Exceptions - Coding
54:12
132
Project Description
05:23
133
Project Solution
30:14
134
Introduction
08:51
135
Decorators and Descriptors - Review
08:51
136
The __new__ Method - Lecture
10:27
137
The __new__ Method - Coding
24:06
138
How Classes are Created - Lecture
07:12
139
How Classes are Created - Coding
12:42
140
Inheriting from type - Lecture
03:01
141
Inheriting from type - Coding
11:02
142
Metaclasses - Lecture
05:54
143
Metaclasses - Coding
08:15
144
Class Decorators - Lecture
04:43
145
Class Decorators - Coding
54:11
146
Decorator Classes - Lecture
04:05
147
Decorator Classes - Coding
18:23
148
Metaclass vs Class Decorator - Lecture
01:55
149
Metaclass vs Class Decorator - Coding
14:49
150
Metaclass Parameters - Lecture
02:45
151
Metaclass Parameters - Coding
13:17
152
The __prepare__ Method - Lecture
02:55
153
The __prepare__ Method - Coding
21:53
154
Classes, Metaclasses, and __call__
12:36
155
Metaprogramming Application 1
33:40
156
Metaprogramming Application 2
23:11
157
Metaprogramming Application 3
31:03
158
Attribute Read Accessors - Lecture
10:06
159
Attribute Read Accessors - Coding
37:18
160
Attribute Write Accessors - Lecture
03:34
161
Attribute Write Accessors - Coding
11:39
162
Accessors - Application
19:21
Unlock unlimited learning

Get instant access to all 161 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

What courses are similar to Python 3: Deep Dive (Part 4 - OOP)?

Frequently asked questions

What are the prerequisites for this course?
The course includes a specific lesson on prerequisites, indicating that a foundational understanding of Python is necessary. This might include knowledge of basic syntax, data types, and control flow. Prior experience with Python programming is recommended to keep up with the advanced object-oriented topics covered in the lessons.
What kind of projects will I work on in this course?
The course contains a project that involves building a time zone management system, which includes components like transaction numbers, account numbers and names, preferred time zones, account balances, and interest rates. This project is designed to apply object-oriented programming concepts in a practical setting.
Is this course suitable for beginners in Python?
This course is not designed for beginners. It focuses on advanced object-oriented programming topics, such as class and static methods, data attributes, property decorators, rich comparisons, and hashing. Beginners might find the material challenging without prior experience in Python programming.
What specific tools or platforms are covered in the course?
The course does not focus on external tools or platforms. It centers on Python's built-in capabilities for object-oriented programming. However, it does include testing with the 'unittest' module, which is part of Python's standard library, to ensure the correct functionality of the projects developed.
How does this course compare in depth to other Python OOP courses?
This course provides an extensive exploration of Python's object-oriented features, with 162 lessons covering topics like callable class attributes, initializing class instances, properties, and special methods like __str__, __repr__, and __del__. It goes beyond basic OOP principles to include advanced concepts and coding exercises.
What is not covered in this course that I might need to learn elsewhere?
The course focuses exclusively on object-oriented programming in Python. It does not cover other programming paradigms, web development, data science, or external libraries and frameworks. Students interested in those areas will need to explore additional resources beyond this course.
How much time should I expect to commit to complete this course?
The course includes 162 lessons, with runtime details not specified. Given the depth of topics like class attributes, property decorators, and rich comparisons, a significant time investment is required. Students should allocate time for both lectures and coding exercises to fully grasp the material.