Building Robust Object-Oriented Python Applications and Libraries

Gain insights into object-oriented programming with Python. Delve into classes, inheritance, and concurrency. Discover how to build robust applications and advance your Python development career.

Beginner

228 Lessons

45h

Certificate of Completion

Gain insights into object-oriented programming with Python. Delve into classes, inheritance, and concurrency. Discover how to build robust applications and advance your Python development career.

AI-POWERED

Explanations

AI-POWERED

Explanations

This course includes

297 Playgrounds
14 Quizzes

This course includes

297 Playgrounds
14 Quizzes

Course Overview

This course explores object-oriented programming (OOP) with Python, using objects to design and build applications. By taking this course, learners will discover Python’s power, clean syntax, and robust libraries for OOP-based software development. You’ll start with an introduction to object-oriented design, exploring objects, classes, and the attributes and behaviors that define them. You’ll learn the basic concepts and advanced design patterns using Python’s OOP capabilities. You’ll learn about type hint...Show More

What You'll Learn

Proficiency in object-oriented design principles and Python syntax

Understanding of advanced Python concepts like concurrency, exceptions, and operator overloading

Hands-on experience in creating complex programs using Python’s built-in data structures

Working knowledge of Python’s support for functional programming

Mastery of Python’s standard library for string manipulation, file paths, and serialization

What You'll Learn

Proficiency in object-oriented design principles and Python syntax

Show more

Course Content

1.

Object-Oriented Design

Get familiar with essentials of object-oriented design, UML, encapsulation, inheritance, and composition.
2.

Objects in Python

Grasp the fundamentals of Python objects, type hints, classes, modules, and package organization.
3.

When Objects Are Alike

Examine advanced inheritance, polymorphism, and design principles in object-oriented Python.
4.

Expecting the Unexpected

Grasp the fundamentals of managing exceptions in Python to enhance application robustness.
5.

When to Use Object-Oriented Programming

Take a look at mastering object-oriented programming, using properties, manager objects, and maintaining the DRY principle.
6.

Abstract Base Classes and Operator Overloading

17 Lessons

Investigate abstract base classes (ABCs), operator overloading, duck typing, and metaclasses in Python.
7.

Python Data Structures

19 Lessons

Master key Python data structures, including tuples, defaultdicts, and frozen dataclasses, for efficient, maintainable code design.
8.

Object-Oriented and Functional Programming Intersection

19 Lessons

Combine object-oriented and functional programming principles in Python for versatile, efficient coding.
9.

Strings, Serialization, and File Paths

23 Lessons

Look at string manipulation, encoding, regex, file paths, and serialization techniques in Python.
10.

The Iterator Pattern

16 Lessons

Master the steps to effectively use iterators, comprehensions, and generators for efficient data handling.
11.

Common Design Patterns

13 Lessons

Grasp the fundamentals of common design patterns for effective and maintainable Python applications.
12.

Advanced Design Patterns

14 Lessons

Deepen your knowledge of advanced design patterns, enhancing design efficiency and adaptability.
13.

Testing Object-Oriented Programs

11 Lessons

Focus on automated testing, using unittest and pytest for reliable Python code quality.
14.

Concurrency

18 Lessons

Piece together the parts of Python concurrency, covering threads, multiprocessing, AsyncIO, and practical case studies.
15.

Conclusion

1 Lesson

Learn how to use Python's OOP concepts, design patterns, and testing strategies efficiently.

Build a Python Airline Reservation System

Project

Course Author

Trusted by 1.4 million developers working at companies

Anthony Walker

@_webarchitect_

Emma Bostian 🐞

@EmmaBostian

Evan Dunbar

ML Engineer

Carlos Matias La Borde

Software Developer

Souvik Kundu

Front-end Developer

Vinay Krishnaiah

Software Developer

Eric Downs

Musician/Entrepeneur

Kenan Eyvazov

DevOps Engineer

Anthony Walker

@_webarchitect_

Emma Bostian 🐞

@EmmaBostian

Hands-on Learning Powered by AI

See how Educative uses AI to make your learning more immersive than ever before.

Instant Code Feedback

Evaluate and debug your code with the click of a button. Get real-time feedback on test cases, including time and space complexity of your solutions.

AI-Powered Mock Interviews

Adaptive Learning

Explain with AI

AI Code Mentor