About this course

Advanced Perspective of Classes and Object-Oriented Programming in Python

This course is the first in a 5-course series that will prepare you for the CSPP1 - Certified Specialist Python Programmer and PCPP1 - Certified Professional Python Programmer Level 1 certification exams (coming out soon!).

This course gives you the opportunity to dive into the more advanced programming in the Python language and related technologies as well as advanced notions and techniques used in object-oriented programming.

You will learn about classes, instances, attributes, and methods; shallow and deep operations, polymorphism, special methods, static and class methods, abstract classes, method overriding, composition, inheritance, subclassing, encapsulation, advanced techniques of exception handling, serialization of Python objects (the pickle module), the shelve module, decorators, and metaprogramming.

After the course you will be able to design and create Python programs using the object-oriented approach, as well as acquire the essentials skills necessary for professional use of the Python language and landing a job in widely understood software development.

You will learn

  • Classes, instances, attributes, methods, as well as working with class and instance data;
  • Shallow and deep operations;
  • Abstract classes, method overriding, static and class methods, special methods;
  • Inheritance, polymorphism, subclasses, and encapsulation;
  • Advanced exception handling techniques;
  • The pickle and shelve modules;
  • Metaclasses.

Course Syllabus

Classes, instances, attributes, methods - introduction; working with class and instance data - instance variables.

Python core syntax; inheritance and polymorphism - inheritance as a pillar of OOP; extended function argument syntax; decorators; different faces of Python methods; abstract classes, encapsulation; composition vs inheritance - two ways to the same destination; inheriting properties from built-in classes.

Exceptions - introduction; named attributes of exception objects; chained exceptions; traceback objects of exceptions.

Shallow and deep copy operations; serialization of Python objects using the pickle module' making Python objects persistent using the shelve module.

Metaprogramming and metaclasses - introduction; special attributes; type function.


PCPP1 – Certified Professional Python Programmer Level 1 certification shows that the individual is familiar with the more advanced perspective of classes and features of object-oriented programming. The scope of certification also includes graphical user interface programming (TkInter), best practices and coding conventions (PEP 20, PEP 8, PEP 257), working with selected library modules allowing to process different kinds of files (xml, csv, sqlite3, logging, configparser), and utilizing tools and resources for the purposes of communicating with external resources and servers using the HTTP protocol and sockets (working with RESTful APIs).

Becoming PCPP1 certified ensures that the individual is fully acquainted with all the advanced means provided by Python 3 and related technologies to enable her/him to advance her/his career as a professional Python developer.

More information: https://pythoninstitute.org/certification/pcpp-certification-professional/

  • Channel: Edube Interactive
  • Sponsor: Python Institute
  • Mode: Online self-study course
  • Level: Intermediate/Advanced
  • Cost: Free
  • Study Time: 42 hours (Suggested: 2 hours a day)
  • Language: English
  • Associated Certification: PCPP1 – Certified Professional Python Programmer Level 1(Exam 32-101)
Buy Exam Voucher
Associated courses

PCPP1 | Best practices and Standardization (Professional 2/5)

PCPP1 | Introduction to GUI Programming in Python: TkInter (Professional 3/5)

PCPP1 | Working with RESTful APIs (Professional 4/5)

PCPP1 | File Processing (Professional 5/5)


Recommended - Python Essentials - Part 2 (Intermediate)