Junior — Middle
What methods can be used to implement a context management mechanism in Python?
sobes.tech AI
Answer from AI
In Python, the context management mechanism is implemented using the context manager protocol, which includes the __enter__ and __exit__ methods.
Main implementation methods:
- Class with
__enter__and__exit__methods
class MyContextManager:
def __enter__(self):
print("Entering context")
return self
def __exit__(self, exc_type, exc_val, exc_tb):
print("Exiting context")
# You can handle exceptions here if needed
with MyContextManager() as cm:
print("Inside with block")
@contextmanagerdecorator from thecontextlibmodule
Allows creating context managers using generators, which simplifies the code:
from contextlib import contextmanager
@contextmanager
def my_context():
print("Entering context")
yield
print("Exiting context")
with my_context():
print("Inside with block")
Both methods are widely used in Python for resource management, such as opening files, working with network connections, etc.