PCPP1 Advanced Object Oriented Programming Practice Question
If you define a class with a metaclass that has a custom __call__ method, when is that __call__ method executed?
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
When an instance of the class is created.
The metaclass's __call__ method is invoked whenever the class created by that metaclass is instantiated (i.e., when you call the class name like MyClass()).
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Every time an instance method is called.
Why it's wrong here
This would be inefficient and is not how metaclasses work.
- ✓
When an instance of the class is created.
Why this is correct
Metaclass __call__ intercepts the instantiation of its class objects.
- ✗
When the metaclass is first imported.
Why it's wrong here
This does not trigger the __call__ method.
- ✗
When the class itself is defined.
Why it's wrong here
That is the metaclass's __new__ or __init__.
About these practice questions
Courseiva writes every PCPP1 question from scratch — 209 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. Learn why practice questions differ from exam dumps →
JA
Written and reviewed by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
Last reviewed August 2026 · checked against the official Python Institute exam blueprint
This PCPP1 practice question is part of Courseiva's free Python Institute certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the PCPP1 exam.