Встречается на собеседованиях • сегодня
Какие бывают контекстные менеджеры
В Python контекстные менеджеры позволяют управлять ресурсами, автоматически выделяя и освобождая их. Основные виды:
- Встроенные (
withstatement):
python
with open('file.txt', 'r') as f:
content = f.read()- Классы с методами
__enter__и__exit__:
python
class MyContext:
def __enter__(self):
print("Entering")
return self
def __exit__(self, exc_type, exc_val, exc_tb):
print("Exiting")
with MyContext() as ctx:
print("Inside context")
text
3. **Функциональные через `contextlib`**:
```python
from contextlib import contextmanager
@contextmanager
def my_context():
print("Entering")
yield
print("Exiting")
with my_context():
print("Inside")- Асинхронные (Python 3.7+):
python
async with aiohttp.ClientSession() as session:
async with session.get(url) as resp:
data = await resp.json()Контекстные менеджеры гарантируют правильное освобождение ресурсов даже при возникновении исключений.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы