Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Object Oriented Programming with Python 3
Rating: 4.3 out of 5(323 ratings)
7,719 students

Object Oriented Programming with Python 3

Master Object Oriented Programming and SOLID Design Principles with Python along with Complete Case Study on EMS
Last updated 7/2020
English
English [Auto],

What you'll learn

  • Object Oriented Programming with Python
  • What is Class and What are Objects?
  • What are Constructors?
  • Understand Static and Non-Static
  • Understand Data Abstraction and Data Encapsulation
  • Understand Inheritance
  • Types of Inheritance - Multiple, Multi-Level and Method Resolution Order (MRO)
  • Understand Polymorphism
  • Understand How to convert Traditional Code to Object Oriented Programming Code
  • Understanding Inheritance and Composition in Depth
  • Case Study: Object Oriented Programming
  • SOLID Design Principles with Python
  • Understanding Single Responsibility Principle with Python
  • Understanding Open-Closed Principle with Python
  • Understanding Liskov Subsititution Principle with Python
  • Understanding Interface Segregation Principle with Python
  • Understanding Dependency Inversion Principle with Python

Course content

3 sections52 lectures5h 40m total length
  • Course Introduction1:47

    Learn object oriented programming with Python through this course introduction and gain confidence in implementing object oriented programming concepts in Python.

  • Introduction13:58

    Discover how object oriented programming works and how its four pillars—data abstraction, data encapsulation, inheritance, and polymorphism—apply in practice.

  • What is a Class and What are Objects ?6:54

    Define a class as a blueprint for a user defined data type, and create objects as instances to store student data, including roll number, name parts, and course.

  • What are Constructors ?3:30

    Define constructors in Python using the __init__ method to initialize class members with an object's x and y coordinates when creating a point instance.

  • Demo: Understanding Classes, Objects and Constructors6:59
  • Understanding Static and Non-Static Members7:50

    Explore static and non-static (instance) members in Python classes, learn when to share values across objects, and distinguish values specific to every individual object using practical examples.

  • Demo: Understanding Static and Non-Static Members6:03

    Demonstrate defining and accessing static and instance variables in Python, using a class with a constructor, and show shared static values across objects.

  • Demo: Implementing Static and Non-Static Members5:21

    Learn how to implement static and non-static (instance) members with an employee class, using per employee attributes and a shared total employees counter, plus displaying details.

  • Understanding Data Abstraction and Data Encapsulation4:40

    Explore data abstraction and data encapsulation as pillars of object oriented programming, distinguishing abstraction as identifying relevant data and modeling, and encapsulation as bundling data with methods and restricting access.

  • Demo: Implementing Data Abstraction and Data Encapsulation9:33

    Explore how data abstraction and data encapsulation work in practice by building a Python product class with private attributes and methods to set, show, and update price.

  • Understanding Inheritance2:14

    Understand inheritance, a pillar of object oriented programming, allowing a derived class to access the base class members and override methods, enabling code reuse without rewriting existing functionality.

  • Demo: Inheritance6:13

    Explore inheritance in Python by defining a salesman class that inherits from an employee base class, using super to initialize base attributes, and overriding methods to reveal commission details.

  • Demo: Method Overriding3:36

    Explore method overriding in Python by redefining a base class method in a derived class with super, and extend the salesman details while reusing base behavior.

  • Demo: Multiple Inheritance4:13

    Learn how multiple inheritance lets a derived class access features from two base classes, shown with father and mother examples and the use of super.

  • Demo: Multi-Level Inheritance4:53

    Demonstrate multi-level inheritance in Python by creating a grandparents–parents–child hierarchy, showing how base and derived class features flow and how methods can be overridden, including method resolution order.

  • Demo: Method Resolution Order (MRO) in Inheritance6:53

    Explore python inheritance and the method resolution order. See how python searches the current class to its bases using left-to-right MRO and view it with __mro__ or mro().

  • Understanding Abstract Class3:21

    Learn how to use abstract classes and abstract methods in Python 3, when you can't instantiate an abstract class, and enforce implementation in derived classes via inheritance.

  • Demo: Understanding Abstract Class6:17

    Demonstrate implementing abstract classes in Python by defining an abstract base class with abstract method, inheriting from ABC, and overriding methods in derived classes to specify courses offered and addresses.

  • Demo: Traditional Python Code Implementation7:09

    Convert a traditional Python program into object-oriented programming to manage customer accounts, enforcing a savings minimum balance of 500 and no minimum for current withdrawals.

  • Understanding How To Convert Traditional Python Code to OOP Implementation4:49

    Convert traditional Python code to object oriented design using an account base class. Derive savings and current classes, override withdrawal, implement deposit, and apply a 10 percent government bonus.

  • Demo: Tradition Python Code To OOP Implementation6:37

    Convert a regular Python script to object oriented programming by implementing an abstract account class and savings and current subclasses with deposits, withdrawals, and a 500 minimum balance for savings.

  • Understanding Polymorphism2:11

    Explore polymorphism, the ability of an entity to change behavior based on arguments, with examples of integers versus concatenating strings, and note how overloading, overriding, and operator overloading realize polymorphism.

  • Demo: Polymorphism with Functions3:27

    Explore polymorphism with functions by using a common interface to handle multiple data types, demonstrated through coloring shapes and language greetings in English and French.

  • Demo: Operator Overloading8:17

    Learn how to enable operator overloading for user defined objects in Python by implementing special methods like __add__ and __lt__ in a Point class, plus __str__ for display.

  • Summary1:05

    Explore object oriented programming concepts such as data abstraction, data encapsulation, inheritance, and polymorphism through practical demos, and learn how reusable, shareable code and secure data boost programmer productivity.

Requirements

  • Python Programming Fundamentals

Description

In this course you will understand in detail about Object Oriented Programming with Python. The Students who thinks Object Oriented Programming is very complex to understand and also to code after completing this course I can guarantee that you won't be saying OOPs!.. Object Oriented Programming is complex, instead you feel that you are enjoying APIE.

In this course i have explained in detail about the 4 pillars of Object Oriented Programming in detail with multiple demos to understand the concept better.

The second module of this course will be a complete Case Study on Object Oriented Programming in Python by developing an sample application for Employee Management System.

The Third module of this course will explain the SOLID Design Principles implementation using Python, I have explained Single Responsibility Principle (SRP), Open Closed Principle (OCP), Liskov Substitution Principle (LSP), Interface Segregation Principle (ISP) and Dependency Inversion Principle (DIP)

I can guarantee you that you won't be finding a better course to understand and master Object Oriented Programming with Python and also for Understanding SOLID Design Principles with Python.

I hope you will enjoy the journey of learning Object Oriented Programming with Python along with me.

See you in this course.

Who this course is for:

  • Beginner Python Developers
  • Python Learners
  • Interested in understanding Object Oriented Programming with Python
  • Learn Python Programming in depth
  • Mastering Object Oriented Programming Principles in Python
  • Learn Best Practices in Programming
  • Learn SOLID Design Principles with Python
  • Understand Object Oriented Programming using Python with Case Study