Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Learn Challenge: Generator-based Context Manager | Custom Context Managers
Python Context Managers
Sectionย 2. Chapterย 4
single

single

bookChallenge: Generator-based Context Manager

Swipe to show menu

In this challenge, you will apply your understanding of generator-based context managers using the contextlib.contextmanager decorator. Your goal is to create a context manager that can temporarily change the value of a variable during the context and restore its original value afterward. This is a common pattern when you need to alter global or module-level state in a controlled and reversible way.

Task

Swipe to start coding

Create a generator-based context manager using contextlib.contextmanager that temporarily sets the global variable some_value to a new value for the duration of the context. When the context exits, the original value of some_value must be restored.

  • The context manager must set some_value to new_value before yielding.
  • The original value of some_value must be restored after the context completes, regardless of how the context is exited.

Solution

Switch to desktopSwitch to desktop for real-world practiceContinue from where you are using one of the options below
Everything was clear?

How can we improve it?

Thanks for your feedback!

Sectionย 2. Chapterย 4
single

single

Ask AI

expand

Ask AI

ChatGPT

Ask anything or try one of the suggested questions to begin our chat

some-alt