4.6
Beginner
45h
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.
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
1.
Object-Oriented Design
17 Lessons
Get familiar with essentials of object-oriented design, UML, encapsulation, inheritance, and composition.
Getting StartedIntroducing Object-Oriented ParadigmObjects and ClassesAttributes and BehaviorsHiding Details and Creating the Public InterfaceComposition and AggregationInheritanceCase StudyContext ViewLogical ViewProcess ViewDevelopment ViewPhysical ViewChallenge: Design an Order Processing SystemSolution: Design an Order Processing SystemQuiz: Object-Oriented DesignSummary
2.
Objects in Python
18 Lessons
Grasp the fundamentals of Python objects, type hints, classes, modules, and package organization.
Type HintsType CheckingCreating Python ClassesInitializing the ObjectType Hints and DefaultsModules and PackagesOrganizing ModulesOrganizing Code in ModulesWho Can Access My Data?Case StudySamples and Their StatesSample State TransitionsClass ResponsibilitiesThe TrainingData ClassChallenge: Build a To-Do ApplicationSolution: Build a To-Do ApplicationQuiz: Objects in PythonSummary
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
Trusted by 2.8 million developers working at companies
"These are high-quality courses. Trust me. I own around 10 and the price is worth it for the content quality. EducativeInc came at the right time in my career. I'm understanding topics better than with any book or online video tutorial I've done. Truly made for developers. Thanks"
Anthony Walker
@_webarchitect_
"Just finished my first full #ML course: Machine learning for Software Engineers from Educative, Inc. ... Highly recommend!"
Evan Dunbar
ML Engineer
"You guys are the gold standard of crash-courses... Narrow enough that it doesn't need years of study or a full blown book to get the gist, but broad enough that an afternoon of Googling doesn't cut it."
Software Developer
Carlos Matias La Borde
"I spend my days and nights on Educative. It is indispensable. It is such a unique and reader-friendly site"
Souvik Kundu
Front-end Developer
"Your courses are simply awesome, the depth they go into and the breadth of coverage is so good that I don't have to refer to 10 different websites looking for interview topics and content."
Vinay Krishnaiah
Software Developer
Hands-on Learning Powered by AI
See how Educative uses AI to make your learning more immersive than ever before.
AI Prompt
Code Feedback
Explain with AI
AI Code Mentor
Free Resources