HomeCoursesBuilding Robust Object-Oriented Python Applications and Libraries

Beginner

45h

Updated 4 months ago

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.
Join 2.7M developers at
Overview
Content
Reviews
Related
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 hints, inheritance, exceptions, properties, abstract base classes, data structures, and functional programming. Next, you’ll learn string manipulation, serialization, file paths, the iterator pattern, and testing OOP programs. The course concludes with a deep dive into concurrency in Python. Completing this course ensures a solid grasp of OOP principles and the ability to design and implement complex applications in Python. This knowledge will lead you to Python development roles and career advancement.
This course explores object-oriented programming (OOP) with Python, using objects to design and build applications. By taking th...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
Proficiency in object-oriented design principles and Python syntax

Show more

Content

3.

When Objects Are Alike

13 Lessons

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

4.

Expecting the Unexpected

15 Lessons

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

5.

When to Use Object-Oriented Programming

14 Lessons

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 Lessons

Learn how to use Python's OOP concepts, design patterns, and testing strategies efficiently.
Certificate of Completion
Showcase your accomplishment by sharing your certificate of completion.

Course Author:

Developed by MAANG Engineers
Every Educative lesson is designed by a team of ex-MAANG software engineers and PhD computer science educators, and developed in consultation with developers and data scientists working at Meta, Google, and more. Our mission is to get you hands-on with the necessary skills to stay ahead in a constantly changing industry. No video, no fluff. Just interactive, project-based learning with personalized feedback that adapts to your goals and experience.

Trusted by 2.7 million developers working at companies

Hands-on Learning Powered by AI

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

AI Prompt

Build prompt engineering skills. Practice implementing AI-informed solutions.

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.

Explain with AI

Select any text within any Educative course, and get an instant explanation — without ever leaving your browser.

AI Code Mentor

AI Code Mentor helps you quickly identify errors in your code, learn from your mistakes, and nudge you in the right direction — just like a 1:1 tutor!

Free Resources

FOR TEAMS

Interested in this course for your business or team?

Unlock this course (and 1,000+ more) for your entire org with DevPath