A. Closures
B. Decorators
C. Generators
D. Context managers
Correct answer: A.
2. What is the primary purpose of a decorator in Python?
A. Modify class inheritance
B. Change function behavior without altering its code
C. Improve execution speed
D. Handle exceptions automatically
Correct answer: B.
3. Which statement about Python generators is true?
A. They store all values in memory
B. They use
return to yield multiple valuesC. They produce values lazily using
yieldD. They cannot be iterated over
Correct answer: C.
4. What does the
__slots__ attribute primarily optimize?A. Method resolution order
B. Attribute access speed and memory usage
C. Garbage collection
D. Inheritance depth
Correct answer: B.
5. Which data structure guarantees insertion order preservation as of Python 3.7?
A. set
B. tuple
C. dict
D. frozenset
Correct answer: C.
6. What is the main advantage of using
collections.defaultdict?A. Faster sorting
B. Automatic key initialization
C. Reduced memory footprint
D. Immutable values
Correct answer: B.
7. Which statement about list comprehensions is correct?
A. They always execute faster than loops
B. They cannot contain conditions
C. They create lists eagerly
D. They are equivalent to generators
Correct answer: C.
8. What does the
* operator do in function parameters?A. Forces keyword-only arguments
B. Captures extra positional arguments
C. Unpacks dictionaries
D. Captures extra keyword arguments
Correct answer: B.
9. What is the role of
**kwargs in a function definition?A. Enforce positional arguments
B. Capture extra keyword arguments
C. Define default values
D. Improve performance
Correct answer: B.
10. Which protocol enables objects to be used in
for loops?A. Context manager protocol
B. Descriptor protocol
C. Iterator protocol
D. Numeric protocol
Correct answer: C.
11. What must an object implement to be an iterator?
A.
__iter__ onlyB.
__next__ onlyC. Both
__iter__ and __next__D.
__getitem__Correct answer: C.
12. What is the primary use of context managers?
A. Memory allocation
B. Automatic resource management
C. Error suppression
D. Parallel execution
Correct answer: B.
13. Which keyword is used to define a context manager without a class?
A. with
B. manage
C. using
D. yield
Correct answer: D.
14. What problem does the Global Interpreter Lock (GIL) primarily affect?
A. File I/O performance
B. Network latency
C. CPU-bound multithreaded code
D. Memory leaks
Correct answer: C.
15. Which module is commonly used for parallelism that bypasses the GIL?
A. threading
B. asyncio
C. multiprocessing
D. concurrent.futures.thread
Correct answer: C.
16. What distinguishes
asyncio from threading?A. It uses OS-level threads
B. It is based on cooperative multitasking
C. It bypasses the GIL
D. It is suitable only for CPU-bound tasks
Correct answer: B.
17. What does the
await keyword do?A. Blocks the entire program
B. Pauses execution until a coroutine completes
C. Starts a new thread
D. Forces synchronous execution
Correct answer: B.
18. Which operation is typically CPU-bound?
A. Reading a file
B. Waiting for a network response
C. Parsing a large dataset
D. Sleeping for one second
Correct answer: C.
19. What is the main benefit of using
functools.lru_cache?A. Improves recursion depth
B. Memoizes function results
C. Reduces function arguments
D. Enables parallel execution
Correct answer: B.
20. Which statement about Python exceptions is correct?
A. They always terminate the program
B. They cannot be nested
C. They propagate up the call stack if unhandled
D. They are only for runtime errors
Correct answer: C.
