Mastering Object-Oriented Programming with Python

Mastering Object-Oriented Programming with Python

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 5h 11m | 967 MB

Object-oriented programming—combined with Python’s flexibility and power and accompanied by improvements in design, coding, and software maintenance—makes difficult tasks much more manageable. This course offers deep insights into object-oriented programming (OOP) to help you develop expert-level, object-oriented Python skills.

Starting with a detailed analysis of object-oriented analysis and design, you will quickly master classes, data encapsulation, inheritance, polymorphism, abstraction, and exceptions. We show you how to use JSON, YAML, Pickle, CSV, XML, Shelve, and SQL to create persistent objects and transmit objects between processes. We iterate over collections, using properties and class methods; explore closures and mix-ins; and command-line arguments.

By the end of this course, you will find that programming in OOP clears the mind and makes your code reusable, readable, and extendable as well as easy to maintain.

Beginning by looking at a range of design patterns for the _init_() method, you will learn how to effectively use a range of Python’s special methods to create classes that integrate with Python’s built-in features, and find detailed explorations and demonstrations of callables and contexts, containers and collections, numbers and decorators, and mixins, with a focus on best practices for effective and successful design. The video also features information that demonstrates how to create persistent objects using JSON, YAML, Pickle, CSV, XML, Shelve, and SQL and shows you how to transmit objects between processes. Going further into OOP, you’ll find expert information on logging, warnings, unit testing, and working with the command line.

Structured in 3 parts to make OOP’s complexity more manageable (Pythonic Classes via Special Methods; Persistence, Serialization, and Testing; and, Debugging, Deploying, and Maintaining), this course provides deep insights into OOP that will help you develop expert-level, object-oriented Python skills.

Table of Contents

Python Class Logging, Docstrings, and Unit Testing
1 The Course Overview
2 Using Python’s Built-In Logging Module
3 Creating Our Own OOP Classes
4 Writing Our Own Custom Logging Class
5 Performing Unit Testing
6 Writing Docstrings for Code Documentation
7 Refactoring Our Code to Keep It Clean
8 Searching Directories to Inspect Our Own Code

Making Objects Persistent with Python
9 Serializing Python Objects with Pickle in Binary Format
10 Serializing Python Objects with JSON in Text Format
11 Storing Data in an SQLite Database
12 Serializing Data with PyYAML
13 Persisting Data with Shelve in a Dictionary-Like Manner
14 Parsing XML Element Trees
15 Reading and Writing Data in CSV Format
16 Reading and Writing Data to Excel

Python Special Methods
17 Passing Arguments into the init Initializer Class Method
18 Calling Super to Initialize Parent Classes
19 Using repr and str for String Representation
20 Defining the API via the all Special Method
21 Parsing Command Line Arguments Using argparse
22 Handling Exceptions with try except finally

Python Collections and Properties
23 Iterating over Collections to Retrieve Data
24 Using Python Generators for Large Datasets
25 Nesting Python Dictionaries to Create Complex Data Structures
26 Using @property as setters and getters
27 Getting and Setting Class Attributes
28 Wrapping Functions in Decorator Classes

Diving Deeper into Object Orientation in Python
29 Using Inheritance to Extend Our Classes
30 Looking into Multiple Inheritance with Python
31 Designing Classes for Polymorphism
32 Avoiding Class Type Checking with Duck Typing
33 Adding Functionality to Classes with Mixins
34 Using Class Methods for Defining Constructors
35 Coding Closures as Helper Functions Within Methods
36 Starting and Stopping Threads
37 Using Multiprocessing Queues to Pass Data