PCPP2 Advanced OOP And Performance Practice Question
Which TWO of the following are valid ways to create a generator in Python?
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
✓
Defining a function containing the 'yield' keyword
Generators can be created via generator expressions (using parentheses) or generator functions (using the yield keyword).
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
Defining a function containing the 'yield' keyword
Why this is correct
This defines a generator function.
- ✗
Calling the gen() function on a class
Why it's wrong here
This is not a standard way to create generators.
- ✗
Using the @generator decorator
Why it's wrong here
There is no built-in @generator decorator.
- ✗
Using a list comprehension with brackets
Why it's wrong here
This creates a list, not a generator.
- ✓
Using a generator expression with parentheses
Why this is correct
Generator expressions create generators.
About these practice questions
Courseiva writes every PCPP2 question from scratch — 194 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 PCPP2 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 PCPP2 exam.