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

bookChallenge: Generator-based Context Manager

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

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

close

Awesome!

Completion rate improved to 8.33

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

some-alt