O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Python Beyond The Basics - Object Oriented Programming

Video Description

In this Python Beyond the Basics - Object-Oriented Programming training course, expert author David Blaikie will teach you how to design Python classes, and how to implement object-oriented programming concepts in Python. This course is designed for users that already have a basic working knowledge of Python.

You will start by learning about classes, including defining a class, class attributes, and working with class and instance data. From there, David will teach you about inheritance and polymorphism. This video tutorial also covers advanced features, such as implementing core syntax, subclassing built-ins, and new style classes. You will also learn about exceptions and object serialization. Finally, David will teach you about efficiency and testing, including debugging, logging, and benchmarking.

Once you have completed this computer based training course, you will be fully capable of designing your own Python classes, as well as implementing object-oriented programming concepts in Python.

Table of Contents

  1. Introduction To Object Oriented Python
    1. Introduction And About The Author 00:02:58
    2. What Is Object Oriented Programming And Why? 00:04:24
    3. Object-Oriented Python 00:06:13
    4. Modules Versus Classes 00:03:43
  2. Getting Started
    1. Prerequisites And Toolkit 00:02:22
    2. Choosing An IDE Or Text Editor And Workflow 00:03:08
  3. Classes
    1. Classes, Instances, Attributes And Methods 00:06:58
    2. Defining A Class 00:04:53
    3. Instance Methods 00:05:53
    4. Instance Attributes 00:03:34
    5. Encapsulation 00:06:01
    6. Init Constructor 00:06:04
    7. Class Attributes 00:03:03
    8. Working With Class And Instance Data 00:06:25
    9. Assignment 1 00:03:52
    10. Assignment 1 - Solution 00:04:02
  4. Inheritance And Polymorphism
    1. Inheriting Attributes 00:04:17
    2. Inheritance Examples 00:06:41
    3. Polymorphism 00:06:42
    4. Inheriting The Constructor 00:02:58
    5. Multiple Inheritance And The Lookup Tree 00:06:18
    6. Decorators, Static And Class Methods 00:08:10
    7. Abstract Classes 00:04:20
    8. Method Overloading - Extending And Providing 00:09:04
    9. Composition Versus Inheritance 00:07:36
    10. Assignment 2 00:03:56
    11. Assignment 2 - Solution 00:05:02
    12. Assignment 2 For Extra Credit - Solution 00:03:28
  5. Advanced Features
    1. Implementing Core Syntax 00:07:11
    2. Subclassing Built-Ins 00:06:26
    3. Attribute Encapsulation 00:05:27
    4. Private Variable Names 00:06:36
    5. With Context 00:06:07
    6. New Style Classes 00:03:50
    7. Assignment 3 00:07:13
    8. Assignment 3 - Supplementary Hints 00:05:06
    9. Assignment 3 - Solution 00:05:06
  6. Exceptions
    1. Trapping And Raising Exceptions 00:13:02
    2. Custom Exceptions 00:06:21
    3. Assignment 4 00:05:34
    4. Assignment 4 - Solution 00:04:09
  7. Object Serialization
    1. Pickle 00:08:27
    2. JSON 00:06:48
    3. YAML 00:09:27
    4. Assignment 5 00:03:38
    5. Assignment 5 - Solution 00:01:46
  8. Efficiency And Testing
    1. Debugging - PDB 00:10:02
    2. Logging 00:04:02
    3. Benchmarking - The Timeit Module 00:06:04
    4. The Pytest Module - Part 1 00:07:45
    5. The Pytest Module - Part 2 00:06:10
    6. Assignment 6 00:03:50
    7. Assignment 6 - Solution 00:05:29
  9. Conclusion
    1. What We Have Learned 00:01:55
    2. Where To Go From Here 00:04:49