
Explore object oriented programming with Python, covering objects, classes, properties, behaviors, encapsulation, polymorphism, inheritance, and abstracting data through practical examples.
Install python and its launcher, then set up a cross-platform workspace with a text editor or IDE like Visual Studio Code and optional Jupyter Notebook via Anaconda.
Download the official Python installer from python.org, select the latest version with the yellow download button, and install the launcher on any operating system.
Learn practical steps to install Python locally, add it to path, verify the version, test code with the Python prompt, and understand why a text editor or IDE is needed.
Install Visual Studio Code across operating systems by downloading the free and open source installer, then install the Python extension and explore its cross-language support for Python, JavaScript, and more.
Download and install the Python programming language locally using the official python.org downloads page, selecting the latest Python 3.10.5 installer or the cross-platform launcher for Windows or Mac OS.
Install Python locally by downloading installer, add Python to your path, verify with Python --version, then use the Python prompt for quick testing and edit files in Visual Studio Code.
Explore the meaning of object oriented programming and learn how to design around objects, reuse code through classes, inheritance, encapsulation, and polymorphism.
Discover why Python is popular, versatile, and open source for object-oriented programming, with easy syntax, cross-platform availability, extensive libraries, and active communities that boost productivity.
Explore procedural, functional, and structured programming as alternatives to object oriented programming, describing step by step instructions, pure functions, and clear control flow with subroutines.
Define a class in Python as a template for creating objects and instances with the class keyword, colon, indentation, and pass for empty bodies.
Explore how to instantiate objects from a class in Python, using the class as a blueprint to create multiple instances with different data.
Define class attributes and instance attributes in Python's object-oriented context. Learn how __init__ and the self parameter initialize instance attributes while class attributes are shared.
Learn how the Python __init__ constructor initializes object state by setting attributes. See how self accesses these attributes and class attributes are shared by all instances.
Learn how to define methods inside a class using def in Python's object oriented programming, including the constructor method, and how to create objects and call a display info method.
create multiple objects from one class by using the constructor and instance attributes to store name and age, then access and print values via object references.
Create a Python class named Snake using the class keyword, instantiate objects, print them, and document with docstrings and comments.
Learn to define a class attribute inside a simple snake class by assigning a name like Anaconda, access it through dot notation on instances, and print it to verify.
Develop a Python method inside a snake class using self and def to modify the name attribute, then print old and new values with dot notation.
Learn how to define a snake class with a dunder __init__ constructor, manage an instance attribute name, modify it with a method, and create multiple instances to print names.
Define a Python Person class with an __init__ constructor taking self, name, age, and person_id; create objects, access attributes via dot notation, and print results.
Create and manage multiple instances of a person class in Python using a constructor with name, age, and personal ID, access attributes with print, and understand self and parameters.
Define and call a display data method inside the persona class to print each instance's name, age, and personal ID, demonstrating self access and object-specific output.
Learn how inheritance in object oriented programming enables creating a child class from a parent class in Python by inheriting methods and attributes, boosting code reusability, productivity, and readability.
Explore how single inheritance enables a car class to reuse a vehicle class in Python, showing object instantiation, dot notation, and calling inherited methods.
Learn inheritance in Python by using a vehicle parent class with car and bike child classes, reusing vehicle methods and printing outputs.
Learn how to implement multiple inheritance in Python by creating person and company parent classes and a child employee class that inherits their methods and data.
Encapsulate data and methods inside a python class to protect data with private or protected access and enhance simplicity and maintainability in object-oriented programming.
Explore access modifiers in Python, focusing on encapsulation achieved with single and double underscores to simulate private and protected members, and how public, private, and protected access levels affect visibility.
Learn how getters and setters enforce encapsulation in Python by controlling access to data members, preventing direct access to private attributes, and adding value validation.
Demonstrates encapsulation in Python by creating an employee class with a constructor, data members, and methods to show details and work on a project, while using access modifiers.
Explain encapsulation in Python by using public, private, and protected data members and access modifiers. Show how to access private data with methods and leverage inheritance for protected members.
Explore encapsulation in Python by using getters and setters to protect private data members, access values with get_age, and modify them with set_age on a Person class.
Explore polymorphism in object-oriented programming by using the same function for different types and purposes. See practical examples with Python built-in functions, user defined functions, class methods, and inheritance templates.
Explore polymorphism in Python by using built-in functions like len and print, then apply it to user defined functions with default parameters to handle multiple signatures.
Explore polymorphism with inheritance and method overriding in Python by using a bird example to show how child classes override a flight method to produce different results.
Discover data abstraction in object-oriented programming by learning how abstract classes and methods hide implementation details, letting subclasses provide the concrete behavior in languages like Python.
Explore data abstraction in Python by using abstract classes and abstract methods with the ABC module, then override them in concrete subclasses to manage subsystems.
Hello and welcome to the Object-Oriented Programming (OOP) - Learn to Code Faster Course.
Any software engineer or developer needs to master object-oriented programming well because of its importance and its many advantages in the software industry.
So, we have created this course for you.
To learn all the important concepts of this type of programming with many practical examples and exercises in depth.
In this course, you will learn OOP (Object Oriented Programming) in Python.
This course will cover:
Understand the benefit of using Object-Oriented Programming
Learn how to build programs faster in Python
Use and apply the classes and instances components and tools with many examples
How to use different types of inheritance in different scales
Learn Encapsulation for wrapping code and data together into a single unit
Learn all about Access Modifiers and Getters and Setters
How to use and apply Polymorphism in an object oriented style with many examples
Learn how to abstract a problem in OOP in action
Practice Object oriented programming, basics to advanced level, using Modern Python
Get the instructor QA support
Python is an object-oriented programming language, it’s very popular, has many advantages, and has a strong presence in all areas of software, in addition to being easy to learn, read and understand in a short time.
Once you complete this course, you will have learned all the concepts of object-oriented programming with application programs and many exercises, and you will be able to use this type of programming with ease and understanding to create high-professional programs, quickly and efficiently. We are here to help you at all times.
This course only requires knowledge of the basics of the Python programming language.
My name is Ahmed Ibrahim, a software engineer and Data Science Professional, and I have helped more than five hundred thousand students in this field, including developers, engineers and data analysts from more than one hundred and seventy-nine countries around the world.
I hope that you will join us in this important course that contains a treasure of important information for everyone in the field of software.
Let's get started to learn how to build programs faster in 2023!