Packt
Object-Oriented Programming (OOP) and Advanced Python Topics

Discover new skills with $120 off courses from industry experts. Save now.

Packt

Object-Oriented Programming (OOP) and Advanced Python Topics

Included with Coursera Plus

Gain insight into a topic and learn the fundamentals.
Intermediate level

Recommended experience

2 weeks to complete
at 10 hours a week
Flexible schedule
Learn at your own pace
Gain insight into a topic and learn the fundamentals.
Intermediate level

Recommended experience

2 weeks to complete
at 10 hours a week
Flexible schedule
Learn at your own pace

What you'll learn

  • Learn how to use Python's advanced OOP features such as inheritance, encapsulation, and polymorphism.

  • Master the implementation of decorators for function enhancements, including logging, validation, and authentication.

  • Understand and apply Python generators for efficient memory usage and iteration over large datasets.

  • Gain proficiency in handling files, including CSV, JSON, zip archives, and managing SQLite databases in Python.

Skills you'll gain

Details to know

Shareable certificate

Add to your LinkedIn profile

Recently updated!

September 2025

Assessments

24 assignments

Taught in English

See how employees at top companies are mastering in-demand skills

 logos of Petrobras, TATA, Danone, Capgemini, P&G and L'Oreal

Build your subject-matter expertise

This course is part of the Python - Complete Python, Django, Data Science and ML Guide Specialization
When you enroll in this course, you'll also be enrolled in this Specialization.
  • Learn new concepts from industry experts
  • Gain a foundational understanding of a subject or tool
  • Develop job-relevant skills with hands-on projects
  • Earn a shareable career certificate

There are 22 modules in this course

In this module, we will explore Python's object-oriented capabilities, focusing on defining classes, creating instances, and manipulating object attributes. We will dive into the usage of the 'self' parameter, method invocation through dot notation, and the role of the 'init' method in object initialization. Through practical examples, you'll gain a solid understanding of object creation, inheritance, and encapsulation in Python.

What's included

5 videos2 readings1 assignment1 plugin

In this module, we will explore the differences between instance methods, class methods, and static methods, emphasizing when to use each in Python programming. You’ll learn how to leverage static methods to perform class-related tasks without requiring an instance, and how to manage class-level data with class attributes. Practical examples will illustrate how to implement these techniques for effective object-oriented programming.

What's included

6 videos1 assignment1 plugin

In this module, we will dive into Python's magic methods, which allow user-defined classes to handle specific operations such as addition and comparison. By exploring practical examples like the __add__ and __eq__ magic methods, you'll learn how to customize how objects behave when combined or compared. These techniques will enhance your ability to design more intuitive and flexible class interactions.

What's included

2 videos1 assignment1 plugin

In this module, we will explore class extension through inheritance, focusing on how derived classes can inherit methods from parent classes while adding new functionality. You will learn how to extend classes to create specialized types, such as an AdminUser class from a base User class, enabling more complex and flexible class structures. Through practical examples, you'll gain a deeper understanding of inheritance in Python and how to design reusable and scalable object-oriented solutions.

What's included

2 videos1 assignment1 plugin

In this module, we will walk through building a functional forum system in Python, focusing on creating and linking classes for users, posts, and the forum itself. You will learn how to register users, associate posts with specific users, and create methods to find posts and users based on various attributes. By the end of the module, you'll also see how to enhance your code with type annotations for better clarity and maintainability, ensuring your class interactions are clean and efficient.

What's included

7 videos1 assignment1 plugin

In this module, we will explore the four key principles of Object-Oriented Programming: encapsulation, inheritance, polymorphism, and abstraction. You'll learn how encapsulation protects object states, how inheritance promotes reusability, and how polymorphism and abstraction help create flexible and simplified code. These concepts form the foundation of OOP and will guide you in designing efficient, scalable, and maintainable systems.

What's included

4 videos1 assignment1 plugin

In this module, we will explore the core concept of Python modules, learning how to group related functions, variables, and classes in a single file for better code organization. You’ll gain hands-on experience in importing entire modules, selectively importing specific elements, and managing module imports across various subfolders. By the end, you’ll be able to structure your code more efficiently, creating modular and reusable Python projects.

What's included

5 videos1 assignment1 plugin

In this module, we will dive into Python's extensive library of built-in modules, offering ready-to-use functionalities that save time and effort. You will also gain practical experience importing and utilizing these modules to enhance your code with minimal setup. This will enable you to take full advantage of Python's powerful standard library in your projects.

What's included

2 videos1 assignment1 plugin

In this module, we will explore the __name__ and __main__ constructs in Python, learning how to control the flow of execution in your code. You will see how to ensure functions run only when a script is executed directly, as opposed to being imported. Additionally, we will dive into Python packages, teaching you how to structure and organize your project for better maintainability and scalability.

What's included

3 videos1 assignment1 plugin

In this module, we will delve into JavaScript Object Notation (JSON), focusing on its syntax and widespread use for data exchange. You will gain hands-on experience converting Python objects to JSON and vice versa, while also learning how to format dictionaries using JSON for improved readability. Through practical tasks, you will solidify your knowledge of handling JSON effectively within your Python projects.

What's included

5 videos1 assignment1 plugin

In this module, we will cover the essentials of working with files in Python, including reading, writing, and managing files and directories. You’ll dive into file operations using both the os module and the more modern Path class, learning how to safely delete files and directories. You will also explore best practices such as using the with statement for optimal file handling. Through practical tasks, you’ll reinforce your understanding and ability to manage files effectively in Python projects.

What's included

11 videos1 assignment1 plugin

In this module, we will explore the zipfile module, which allows you to create, manage, and extract files from zip archives in Python. You will learn how to create zip archives for compressing data and efficiently read and extract contents from existing zip files. By the end of the module, you’ll be proficient in using zip archives for managing large datasets and files in your Python projects.

What's included

2 videos1 assignment1 plugin

In this module, we will explore the basics of working with CSV files in Python, including reading and writing data while addressing common challenges specific to the CSV format. You’ll also gain hands-on experience iterating over each row in a CSV file, extracting data for processing or analysis. This will equip you with the skills to work efficiently with CSV data in Python.

What's included

2 videos1 assignment1 plugin

In this module, we will dive into Python’s datetime module to learn how to handle and manipulate dates and times efficiently. You will gain hands-on experience with the datetime class for date-time operations, converting strings to datetime objects, and utilizing the timedelta class for working with time intervals. Additionally, we will explore the time module to handle time-based functionalities, enhancing your ability to manage dates and times in your Python projects.

What's included

5 videos1 assignment1 plugin

In this module, we will explore Python's random and secrets modules to generate random numbers, selections, and secure tokens. You will learn how to use methods like choices and shuffle for randomizing sequences, as well as how to generate cryptographically secure tokens and one-time passwords. Additionally, we’ll cover how to generate strong, secure passwords, ensuring your Python applications are both functional and secure.

What's included

5 videos1 assignment1 plugin

In this module, we will explore Python's math module, which provides a wide range of mathematical functions to simplify complex calculations. Additionally, we’ll dive into recursion, learning how to design and use recursive functions to break down problems into simpler subproblems. By the end of this module, you will be able to apply both mathematical operations and recursion in your Python programs to solve a variety of challenges.

What's included

2 videos1 assignment1 plugin

In this module, we will dive into Python’s powerful re module to explore regular expressions (regex) and their use in string manipulation. You’ll learn how to create patterns for matching strings, validate email addresses, replace substrings, and clean up unnecessary spaces in text. The module also includes a practical challenge focused on verifying password strength and structure, helping you apply regex techniques in real-world scenarios.

What's included

6 videos1 assignment1 plugin

In this module, we will cover the process of setting up a local SMTP server using smtp4dev in a Docker container for email testing. You will learn how to send emails programmatically using Python’s SMTP protocol, and enhance email content by integrating HTML templates for better formatting. The module concludes with best practices for cleaning up your testing environment by removing the Docker container.

What's included

4 videos1 assignment1 plugin

In this module, we will explore SQLite3 databases in Python, starting with how to create a database and design tables for data storage. You will practice inserting data into tables and retrieving it through SQL queries. The module concludes with a summary of SQLite concepts and key takeaways, solidifying your understanding of how to work with databases in Python.

What's included

4 videos1 assignment1 plugin

In this module, we will explore various other useful built-in Python modules, starting with the array module for efficient data storage and manipulation. You'll learn how to save and load arrays to and from files, manage program arguments with the sys module, and automate browser interactions using the webbrowser module. These tools will expand your ability to write more powerful and versatile Python programs.

What's included

4 videos1 assignment1 plugin

In this module, we will dive into Python virtual environments and PIP, learning how to manage project dependencies efficiently. You’ll explore how to create isolated environments for each project, activate and deactivate them, and install necessary packages. The module also covers saving package lists using a requirements.txt file and addressing challenges in package management, ensuring smooth and reproducible development setups.

What's included

8 videos1 assignment1 plugin

In this module, we will explore Pipenv as a powerful tool for managing Python virtual environments, simplifying dependency management, and ensuring isolated project setups. You will learn how to set up, install, and update packages within Pipenv environments, as well as recreate environments in new project folders. Additionally, we’ll explore how to integrate both venv and Pipenv with the PyCharm IDE to create a more efficient and seamless development experience.

What's included

7 videos1 reading3 assignments1 plugin

Earn a career certificate

Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.

Instructor

Packt - Course Instructors
Packt
934 Courses199,977 learners

Offered by

Packt

Explore more from Software Development

Why people choose Coursera for their career

Felipe M.
Learner since 2018
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
Jennifer J.
Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
Larry W.
Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
Chaitanya A.
"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."
Coursera Plus

Open new doors with Coursera Plus

Unlimited access to 10,000+ world-class courses, hands-on projects, and job-ready certificate programs - all included in your subscription

Advance your career with an online degree

Earn a degree from world-class universities - 100% online

Join over 3,400 global companies that choose Coursera for Business

Upskill your employees to excel in the digital economy

Frequently asked questions