Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Object Oriented Python

Object Oriented Python

Object-Oriented Python
Last updated 4/2024
English
English

What you'll learn

  • Gain a clear understanding of the core principles of OOP, including encapsulation, inheritance, and polymorphism.
  • Learn how OOP promotes code organization, reusability, and maintainability.
  • Learn how to define classes and create objects in Python.
  • Explore the concept of inheritance and its importance in code reuse and abstraction.
  • Understand the importance of encapsulation in OOP.
  • Discover how inheritance and other OOP techniques can help reduce code repetition and promote code efficiency.
  • Learn strategies for writing clean, concise, and maintainable code.
  • Apply OOP concepts to develop a simple yet engaging text-based adventure game.
  • Learn how to apply OOP principles to solve real-world problems.

Course content

1 section12 lectures4h 33m total length
  • Overview2:48

    Explore object-oriented Python by examining abstraction, encapsulation, polymorphism, and inheritance, then apply these ideas to Python through classes, methods, composition, and single or multiple inheritance, culminating in text-based adventure game.

  • Installation and Setup25:45

    Install and set up Python 3 using the official python.org CPython distribution, test the setup from the command line, and choose an editor or IDE for coding.

  • What is Object Oriented Programming15:35

    Define object oriented programming and its four principles: encapsulation, abstraction, inheritance, and polymorphism, and explore how to design systems by focusing on interfaces and reusable traits in Python.

  • Creating Classes and Objects in Python31:36

    Create an account class in Python to illustrate object oriented concepts. Implement balance and a transaction log with deposit and withdrawal methods, plus a readable repr.

  • Extending Classes23:49

    Extend classes through Python inheritance to share code via parent and child classes, use super(), and enable polymorphism, while cautioning against the deadly diamond of death in multiple inheritance.

  • Extending Classes Part 230:39

    Explore extending classes in object oriented python with mixins for readable and writable behavior, and compare inheritance versus composition through a book example.

  • Lets Build It MonsterSlash v.122:08

    Create an object oriented Python game featuring a player and an enemy with levels and attack power, then test iteratively and refactor for reusable classes.

  • Lets Build It MonsterSlash v.1 Part 229:35

    Design and test a monster slash game in object oriented python by implementing a player and enemies, a game loop, and attack mechanics with run, pass, and input prompts.

  • MonsterSlash v.1 Game Refactor18:01

    refactor a simple game into an object oriented design by making the game a class with a player and enemies injected, enabling encapsulation and external input driven state.

  • MonsterSlash v.1 Actor Refactor26:27

    Refactor the object oriented Python code by creating an actor base class to reduce duplication, enforce interfaces, and enable clean inheritance for players and enemies.

  • MonsterSlash v.2 Enemies Attack24:56

    Demonstrates object oriented Python by adding an actor base class with hp and is_alive, enabling level-based hp, enemy attacks, and healing through inheritance.

  • MonsterSlash v.2 Enemies Attack Part 221:59

    Develop an object-oriented Python game by building MonsterSlash v2 part 2, adding stats reporting, health, healing, random enemy attacks, and turn-based combat dynamics.

Requirements

  • A computer with Python installed (preferably Python 3.x) and a text editor or Integrated Development Environment (IDE) for writing and running Python code.
  • Eagerness to learn and explore new programming paradigms, particularly object-oriented programming in the context of Python.

Description

Exploring Object-Oriented Python with Vonne and Justin

Embark on a journey into the fascinating realm of Object-Oriented Programming (OOP) with Vonne and Justin as your guides. In this engaging series, Justin unravels the intricacies of OOP, focusing specifically on its application in the Python programming language.

Beginning with the foundational principles of OOP, Justin leads the exploration by demonstrating the creation of classes and the instantiation of objects from those classes. Through clear and concise examples, participants gain a solid understanding of how to structure their code using classes and objects.

Moving beyond the basics, Justin delves into the concept of inheritance—a powerful mechanism for reducing code duplication and adhering to the "Don't Repeat Yourself" (DRY) principle. By leveraging inheritance, participants learn how to create hierarchies of classes that promote code reuse and maintainability.

To cap off the series, Justin guides the audience through the development of a simple yet captivating text-based adventure game, showcasing the practical application of OOP concepts in a real-world scenario.

Whether you're a novice programmer eager to dive into the world of OOP or an experienced developer looking to deepen your understanding of Python's object-oriented features, this series promises an enriching and insightful learning experience. Join Vonne and Justin on this exciting journey into Object-Oriented Python programming!

Are you ready to embark on this adventure? Join us now!

Who this course is for:

  • Beginners to intermediate Python programmers who want to deepen their understanding of Object-Oriented Programming (OOP) principles.
  • Students or professionals transitioning from procedural programming to OOP paradigms.
  • Anyone interested in learning how to leverage OOP concepts in Python to write cleaner, more organized, and maintainable code.
  • Python developers looking to expand their skillset and improve their ability to design and implement software solutions using OOP techniques.
  • Individuals interested in game development or building interactive applications using Python and OOP principles.
  • Those seeking to enhance their problem-solving skills and understanding of software design patterns through practical examples and hands-on projects.
  • Programming enthusiasts eager to explore the intricate world of OOP and its application in the context of Python programming language.