
discover the four pillars of object oriented programming in Python—abstraction, encapsulation, inheritance, and polymorphism—through classes, objects, attributes, and methods, and apply them in a banking system project.
Set up a Windows development environment by installing Python 3.6.1 and optionally the Atom editor, then write and run Hello, world! using the command prompt or IDLE.
Install Python 3 on Mac OS and set up a text editor such as Atom. Verify the installation with IDLE and run a Hello World program to confirm the environment.
Install Python 3.6, the IDLE environment, and the Atom editor on a Linux machine via terminal commands, then write and run a hello world program to practice basics.
Explore how Python classes encapsulate attributes and methods and create objects through instantiation, using a superhero example to illustrate naming, properties, and actions.
Learn to implement classes and objects in Python, define class attributes and methods, and instantiate objects using self, the dot operator, and simple target checks.
Explore class attributes versus instance attributes, showing how numberOfWorkingHours is shared while name is unique per instance. Learn how the __init__ method and the self parameter initialize objects.
Explore the self parameter in Python object-oriented programming by showing how methods access instance attributes and how Python passes the object, clarifying why self is needed for attribute access.
Explore instance methods and static methods in python oops, focusing on the self parameter and the @staticmethod decorator with a practical employee example.
Master Python's __init__ method to fully initialize object attributes. Define an Employee class and use self to set the name and other details.
Explore abstraction and encapsulation as the pillars of object oriented programming, illustrating how methods provide abstraction while hiding implementation, using a library management system and list append as examples.
Demonstrate abstraction and encapsulation in Python by creating Library and Customer classes, encapsulating data like availableBooks, and implementing display, lend, add, request, and return methods.
Master single inheritance in Python by creating a base class and a derived class that inherit attributes and methods, demonstrating code reuse and access to parent features.
Explore multiple inheritance in Python by combining two base classes into a derived class, access attributes like multitasking and website, observe attribute conflicts order-determined, and touch on the diamond problem.
Build a multilevel inheritance in Python by modeling musical instruments, string instruments, and guitar to show how attributes from upper classes are accessed through levels.
Explore Python access conventions: public, protected (single underscore) and private (double underscore) attributes, with name mangling, plus a quick recap of inheritance and how these conventions guide access.
Explore polymorphism through method overriding in Python, where derived classes redefine base class methods and use super() to access the original behavior, illustrated with employee and trainee examples.
Explore how overriding interacts with multiple inheritance through the diamond shape problem, demonstrating method resolution order and how the derived class selects base class methods based on inheritance order.
learn how to overload the addition operator in Python by implementing a custom add method for a square class, leveraging the polymorphic property to sum the sides.
Explore abstract base classes in Python by implementing a Shape ABC with abstract area() methods. Learn how ABCMeta and @abstractmethod enforce concrete implementations in Square and Rectangle, illustrating polymorphism and method overriding.
Explore a banking system project that creates or accesses savings accounts, assigns a five-digit account number, and offers withdraw, deposit, or balance display while applying abstraction, encapsulation, inheritance, and polymorphism.
Develop Python OOP by building a savings account project that uses an abstract base class with abstract methods, inheritance, and operations for create account, authenticate, withdraw, deposit, and display balance.
Create a savings account class from an abstract base class with overriding. Build a menu-driven bank app with withdraw, deposit, and balance display, illustrating encapsulation.
Celebrate completing the course and commit to constant practice to improve your programming skills, explore more projects, seek help via discussion board or direct message.
Python is one of the most sought after programming language. This course will teach you Object Oriented Programming, using Python as the programming language. You need to be familiar with the basics of Python such as Variables, Data Types, etc
By learning OOP using Python , you are taking your Python skills to the intermediate level from where you can pursue other advanced Python modules.
With the spike in growth of Data Science, Python developers are much in demand. With increase in number of Python developers, it is very important to let potential employers spot you from the rest of the 'usual' Python crowd. This is where having the knowledge of OOP becomes very important. By being able to write well designed code in Python , you are giving yourself a boost to climb up the ladder of your Python journey.
This course will help you understand how Abstraction, Encapsulation, Inheritance and Polymorphism - the four pillars, hold together the world of Object Oriented Programming in Python
Have you ever stumbled into someone else's Python code and wondered how to create Classes and Objects and other designs of OOP ? Well, this course will teach you how to start creating your own OOP designs in Python
I have related all the concepts to real world examples to help you understand them better. And with Python as the programming language, it couldn't get any simpler!
Enrol today and take your Python skills to the next level!
Last updated - 11 November 2018 => Added Closed Captions in English