This is the code repository for Mastering Object-Oriented Programming with Python, published by Packt. It contains all the supporting project files necessary to work through the video course from start to finish.
Object-oriented programming—combined with Python's flexibility and power and accompanied by improvements in design, coding, and software maintenance—makes difficult tasks much more manageable. This course offers deep insights into object-oriented programming (OOP) to help you develop expert-level, object-oriented Python skills. Starting with a detailed analysis of object-oriented analysis and design, you will quickly master classes, data encapsulation, inheritance, polymorphism, abstraction, and exceptions. We show you how to use JSON, YAML, Pickle, CSV, XML, Shelve, and SQL to create persistent objects and transmit objects between processes. We iterate over collections, using properties and class methods; explore closures and mix-ins; and command-line arguments. By the end of this course, you will find that programming in OOP clears the mind and makes your code reusable, readable, and extendable as well as easy to maintain.
Beginning by looking at a range of design patterns for the init() method, you will learn how to effectively use a range of Python's special methods to create classes that integrate with Python's built-in features, and find detailed explorations and demonstrations of callables and contexts, containers and collections, numbers and decorators, and mixins, with a focus on best practices for effective and successful design. The video also features information that demonstrates how to create persistent objects using JSON, YAML, Pickle, CSV, XML, Shelve, and SQL and shows you how to transmit objects between processes. Going further into OOP, you'll find expert information on logging, warnings, unit testing, and working with the command line.
Structured in 3 parts to make OOP's complexity more manageable (Pythonic Classes via Special Methods; Persistence, Serialization, and Testing; and, Debugging, Deploying, and Maintaining), this course provides deep insights into OOP that will help you develop expert-level, object-oriented Python skills.
- Playing with the __init__() method, the right way functions
- Master the OOP principles to develop well-designed software
- Make data persistent in various formats for efficient structuring
- On the go strategies for automated unit testing including doctest and store data in various formats like XML and SQL and several other formats
- Perform object serialization in formats such as JSON, YAML, Pickle, CSV, and XML
- Reuse classes via a modular coding design
- Employ the Shelve module as a sophisticated local database
- Map Python objects to a SQL database using the built-in SQLite module
- Best practices for code documentation through built-in and custom logging
If you are a Python developer keen to gain expertise in OOP to improve your development skills and build professional-quality software applications, this video is ideal for you.
-
Software Requirements
- Operating system: Windows 10 or Mac OS or Linux
- Python 3.7+
- IDE with Python support (e.g. PyCharm or Eclipse with PyDev)