Examers.io
ExamsOrganizationsHow it worksPricingHelp & FAQ
PYTHON INSTITUTE

Python Institute PCPP1 - Certified Professional Python Programmer 1

PCPP-32-1

The PCPP1™ – Certified Professional Python Programmer Level 1 certification validates advanced Python programming skills, including object-oriented programming, GUI development, network programming, and best practices. It is designed for developers and IT professionals seeking to demonstrate their expertise and advance their careers as professional Python developers. Earning PCPP1™ signals a high degree of technical knowledge and work independence, positioning you for junior and middle-level programming roles.

530 practice questions · Updated 2025-03-21

5Domains
24Objectives
195Concepts
530Questions

PCPP-32-1 Curriculum

Every domain, objective, and concept the PCPP-32-1 exam measures.

  1. Class and instance
  2. Object and attribute
  3. Method
  4. Type
  5. Instance variables
  6. Class variables
  7. Superclasses and subclasses
  8. isinstance()
  9. issubclass()
  10. The __init__() method
  11. Creating classes and methods
  12. Creating and accessing class and instance variables
  13. Calling methods
  1. Comparison magic methods
  2. Numeric magic methods
  3. Type conversion magic methods
  4. Introspection and retrospection magic methods
  5. Attribute access magic methods
  6. Container access magic methods
  7. Operating with special methods
  8. Extending class implementations for core syntax
  1. Class Hierarchies
  2. Single vs. Multiple Inheritance
  3. Method Resolution Order (MRO)
  4. Duck Typing
  5. Inheritance vs. Composition
  6. Modeling with is-a and has-a Relations
  1. *args and **kwargs
  2. Forwarding arguments
  3. Parameter handling with * and **
  4. Closures
  5. Function decorators
  6. Class decorators
  7. Decorating functions with classes
  8. Decorator patterns
  9. Decorator arguments
  10. Wrappers and functools.wraps
  11. Decorator stacking
  12. Syntactic sugar for decorators
  13. __call__ special method
  14. __init__ special method
  1. Implementing class methods
  2. Implementing static methods
  3. Understanding @classmethod vs @staticmethod
  4. Using the cls parameter
  5. Accessing and modifying class state
  6. Creating objects with class methods
  1. Defining abstract classes
  2. Defining abstract methods
  3. Implementing abstract methods
  4. Overriding abstract methods
  5. Multiple inheritance from abstract classes
  6. Delivering multiple child classes
  1. Definition of attribute encapsulation
  2. Meaning and purpose of encapsulation
  3. Usage of encapsulation in Python
  4. Getter methods
  5. Setter methods
  6. Deleter methods
  7. Operating with getter, setter, and deleter methods
  1. Inheriting from built-in classes
  2. Extending built-in class methods
  3. Modifying built-in class attributes
  4. Using super() with built-in subclasses
  5. Practical examples of built-in subclassing
  1. Exceptions as objects
  2. Named attributes in exceptions
  3. Chained exceptions with __context__
  4. Chained exceptions with __cause__
  5. Implicit vs explicit chaining
  6. Analyzing traceback objects
  7. Operating with different kinds of exceptions
  1. Object label vs. identity vs. value
  2. Using id() to get object identity
  3. Using the is operator for identity comparison
  4. Shallow copy with copy()
  5. Deep copy with deepcopy()
  1. Persistence, serialization, and deserialization
  2. pickle module basics
  3. shelve module for dictionary serialization
  1. Metaclasses: meaning and purpose
  2. Using the type metaclass and type()
  3. Creating custom metaclasses
  4. Special attribute __name__
  5. Special attribute __class__
  6. Special attribute __bases__
  7. Special attribute __dict__
  8. Operating with metaclasses
  9. Class variables and class methods in metaprogramming

  1. PEP concept
  2. PEP 1
  3. PEP 8
  4. PEP 20
  5. PEP 257
  1. PEP 8 checkers
  2. Indentation and continuation lines
  3. Maximum line length and line breaks
  4. Blank lines
  5. Default encodings
  6. Module imports
  7. String quotes
  8. Whitespace in expressions and statements
  9. Trailing commas
  10. Comments vs. documentation strings
  11. Naming conventions
  12. Programming recommendations

  1. GUI meaning and rationale
  2. Visual programming concepts
  3. Widgets and controls
  4. Classical programming model
  5. Event-driven programming model
  6. Basic event terminology
  7. GUI toolkits
  1. tkinter import and main window setup
  2. Widget creation and placement with place()
  3. Event handlers and callbacks
  4. Window destruction and dialog boxes
  5. Input validation and error handling
  6. Canvas methods for drawing
  7. Entry, Radiobutton, and Button widgets
  8. Grid and place layout management
  9. Event binding with bind()
  1. Geometry managers
  2. Coloring widgets with RGB and HEX
  3. Event-driven programming model
  4. Events and callbacks
  5. Widget properties and methods
  6. Observable variables and observers
  7. Clickable widgets
  8. Non-clickable widgets
  9. Identifying and servicing events

  1. REST fundamentals
  2. Socket basics
  3. Network domains
  4. Addresses and ports
  5. Protocols and services
  6. Connection-oriented vs. connectionless
  7. Clients and servers
  1. socket module basics
  2. creating sockets
  3. connecting to HTTP servers
  4. closing connections
  5. sending requests with send()
  6. receiving responses with recv()
  7. exception handling in socket operations
  1. JSON syntax and structure
  2. JSON module: dumps()
  3. JSON module: loads()
  4. XML syntax and structure
  5. Document Type Definition (DTD)
  6. XML as a tree model
  7. Processing XML files with Python
  1. requests module basics
  2. test environments for REST clients
  3. HTTP GET and fetching data
  4. HTTP POST and creating data
  5. HTTP PUT and updating data
  6. HTTP DELETE and removing data
  7. CRUD operations mapping
  8. analyzing HTTP responses
  9. HTTP status codes interpretation

  1. sqlite3 module basics
  2. Connection management
  3. Creating tables
  4. Inserting data
  5. Reading data
  6. Updating data
  7. Deleting data
  8. Transaction demarcation
  9. Cursor creation and use
  10. execute method
  11. executemany method
  12. fetchone method
  13. fetchall method
  14. Basic SQL statements
  1. XML parsing with find and findall
  2. Building XML with Element and SubElement
  3. CSV reading with reader and DictReader
  4. CSV writing with writer and DictWriter
  5. Logging events and levels
  6. LogRecord attributes
  7. Custom handlers and formatters
  8. ConfigParser for configuration files
  9. Value interpolation in .ini files
Ready to practice?Test your knowledge with exam-style questions or take an intelligent quiz tailored to your level.

Percentages reflect share of the current practice bank, not official exam weightings — no structured per-skill weight is published for PCPP-32-1, so none is invented.