Python 3: Deep Dive (Part 4 – OOP)

Python 3: Deep Dive (Part 4 – OOP)

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

Homepage