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