Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA Amazon AWS CompTIA Security+ AWS Certified Developer - Associate
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Mindfulness Personal Development Personal Transformation Meditation Life Purpose Emotional Intelligence Neuroscience
Web Development JavaScript React CSS Angular PHP WordPress Node.Js Python
Google Flutter Android Development iOS Development Swift React Native Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Marketing Strategy Google Ads (AdWords) Certification Internet Marketing YouTube Marketing Email Marketing Retargeting
SQL Microsoft Power BI Tableau Business Analysis Business Intelligence MySQL Data Modeling Data Analysis Data Science
Business Fundamentals Entrepreneurship Fundamentals Online Business Business Strategy Business Plan Startup Freelancing Blogging Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
30-Day Money-Back Guarantee
Development Programming Languages Python

Python 3: Deep Dive (Part 4 - OOP)

Python Object Oriented Programming (OOP)
Rating: 4.8 out of 54.8 (1,021 ratings)
12,113 students
Created by Fred Baptiste
Last updated 1/2021
English
30-Day Money-Back Guarantee

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
Curated for the Udemy for Business collection

Course content

14 sections • 162 lectures • 35h 12m total length

  • Preview05:55
  • Preview08:35

  • Preview02:27
  • Objects and Classes - Lecture
    10:49
  • Objects and Classes - Coding
    04:03
  • Class Attributes - Lecture
    13:08
  • Class Attributes - Coding
    12:16
  • Callable Class Attributes - Lecture
    02:23
  • Callable Class Attributes - Coding
    03:07
  • Classes are Callables - Lecture
    03:18
  • Classes are Callables - Coding
    06:29
  • Data Attributes - Lecture
    05:20
  • Data Attributes - Coding
    11:29
  • Function Attributes - Lecture
    12:35
  • Function Attributes - Coding
    20:15
  • Initializing Class Instances - Lecture
    06:16
  • Initializing Class Instances - Coding
    05:50
  • Creating Attributes at Run-Time - Lecture
    05:35
  • Creating Attributes at Run-Time - Coding
    20:46
  • Preview16:49
  • Preview23:31
  • Property Decorators - Lecture
    12:07
  • Property Decorators - Coding
    31:06
  • Read-Only and Computed Properties - Lecture
    06:48
  • Read-Only and Computed Properties - Coding
    24:57
  • Deleting Properties - Lecture
    06:09
  • Deleting Properties - Coding
    05:13
  • Some Questions on the Property Class
    03:04
  • Class and Static Methods - Lecture
    11:07
  • Class and Static Methods - Coding
    30:59
  • Python Builtin and Standard Types
    03:24
  • Class Body Scope - Lecture
    05:18
  • Class Body Scope - Coding
    14:36
  • Quick Recap
    04:06

  • Project Description
    10:53
  • Project Solution - TimeZone
    15:29
  • Project Solution - Transaction Numbers
    08:56
  • Project Solution - Account Numbers, Names
    14:48
  • Project Solution - Preferred TimeZone
    04:08
  • Project Solution - Account Balance
    04:15
  • Project Solution - Interest Rate
    08:28
  • Project Solution - Transaction Codes
    02:48
  • Project Solution - Confirmation Codes
    28:17
  • Project Solution - Transactions
    23:03
  • Project Solution - Testing with unittest
    50:52

  • Introduction
    04:57
  • __str__ and __repr__ Methods - Lecture
    03:47
  • __str__ and __repr__ Methods - Coding
    08:23
  • Arithmetic Operators - Lecture
    04:52
  • Arithmetic Operators - Coding
    37:01
  • Rich Comparisons - Lecture
    01:29
  • Rich Comparisons - Coding
    18:02
  • Hashing and Equality - Lecture
    01:53
  • Hashing and Equality - Coding
    08:32
  • Booleans - Lecture
    01:38
  • Booleans - Coding
    08:26
  • Callables - Lecture
    01:52
  • Callables - Coding
    37:43
  • The __del__ Method - Lecture
    03:54
  • The __del__ Method - Coding
    15:08
  • The __format__ Method - Lecture
    02:00
  • The __format__ Method - Coding
    08:01

  • Project Description
    06:36
  • Project Solution
    31:41

  • Introduction
    01:14
  • Single Inheritance - Lecture
    18:22
  • Single Inheritance - Coding
    11:19
  • The object Class - Lecture
    04:47
  • The object Class - Coding
    09:57
  • Overriding - Lecture
    11:42
  • Overriding - Coding
    13:59
  • Extending - Lecture
    00:55
  • Extending - Coding
    16:38
  • Delegating to Parent - Lecture
    12:28
  • Delegating to Parent - Coding
    27:20
  • Slots - Lecture
    07:13
  • Slots - Coding
    05:16
  • Slots and Single Inheritance - Lecture
    08:07
  • Slots and Single Inheritance - Coding
    15:08

  • Project 3 - Description
    08:32
  • Project Solution - Approach and Setup
    12:55
  • Project Solution - Validators and tests
    21:43
  • Project Solution - Resources class and tests
    40:04
  • Project Solution - CPU class and tests
    09:08
  • Project Solution - Storage class and tests
    01:58
  • Project Solution - HDD and SSD classes and tests
    05:08

  • Introduction
    01:14
  • Preview08:22
  • Preview09:18
  • Getters and Setters - Lecture
    08:15
  • Getters and Setters - Coding
    21:42
  • Using as Instance Properties - Lecture
    06:25
  • Using as Instance Properties - Coding
    22:08
  • Strong and Weak References - Lecture
    07:30
  • Strong and Weak References - Coding
    20:06
  • Back to Instance Properties - Lecture
    03:36
  • Back to Instance Properties - Coding
    35:34
  • The __set_name__ Method - Lecture
    03:04
  • The __set_name__ Method - Coding
    17:40
  • Property Lookup Resolution - Lecture
    04:42
  • Property Lookup Resolution - Coding
    11:44
  • Properties and Descriptors - Lecture
    02:38
  • Properties and Descriptors - Coding
    21:25
  • Application - Example 1
    11:19
  • Application - Example 2
    34:24
  • Functions and Descriptors - Lecture
    01:49
  • Functions and Descriptors - Coding
    16:58

  • Project Description
    03:21
  • Solution - Part 1
    42:35
  • Solution - Part 2
    08:07

  • Introduction
    01:00
  • Making the case for Enumerations
    08:11
  • Enumerations - Lecture
    09:47
  • Enumerations - Coding
    19:50
  • Aliases - Lecture
    04:48
  • Aliases - Coding
    09:19
  • Customizing/Extending Enums - Lecture
    03:50
  • Customizing/Extending Enums - Coding
    36:30
  • Automatic Values - Lecture
    04:50
  • Automatic Values - Coding
    21:56

Requirements

  • Strong knowledge of functional Python
  • Closures and Decorators
  • Iterators, Iterables and Generators
  • Mapping Types, Hashing
  • Some exposure to basic OOP

Description

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)


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

Who this course is for:

  • Experienced intermediate Python developers who want a more in-depth understanding of Python OOP

Featured review

Chyanit Singh
Chyanit Singh
63 courses
19 reviews
Rating: 5.0 out of 512 months ago
Fred is simply awesome, I have enrolled in every Fred's program and I simply love Fred's teaching, I owe a lot of my programming skills to Fred, I was pretty mediocre in programming until I started Fred's course and rest is history. If you want to take your Python skills to the next level then look no further and enroll in Fred's python deep dive series as soon as possible and you. will thank me for doing that!!!!!!!

Instructor

Fred Baptiste
Professional Developer and Mathematician
Fred Baptiste
  • 4.8 Instructor Rating
  • 8,413 Reviews
  • 30,617 Students
  • 4 Courses

Hi,

My name is Fred Baptiste.

I started my career with a PhD in mathematics and have been programming professionally for over 25 years in a variety of technologies and languages, including Python, .Net (C# and VB), Java, C++, and JavaScript to name a few, and databases including relational SQL databases such as MS SQL Server and Postgres as well as No-SQL databases such as MongoDB, Couchbase and Neo4j.

Since 2011 I have been focused on Python almost exclusively, mainly in REST API development and data management and analysis.

I have spent a lot of time and effort learning and gaining an in-depth understanding of Python and writing idiomatic Python, and I'd like to share that with you.

I'm definitely a Python enthusiast for many reasons, and I'd like to share that passion with you too!

  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.