Встречается на собеседованиях • сегодня
Требуется ли использовать yield в контекстном менеджере в Python
Нет, yield не требуется в контекстном менеджере, но его можно использовать для создания контекстного менеджера с помощью contextlib.contextmanager.
Пример без yield (классический способ):
python
class MyContext:
def __enter__(self):
print("Entering context")
return self
text
def __exit__(self, exc_type, exc_val, exc_tb):
print("Exiting context")with MyContext() as ctx:
print("Inside context")
text
**Пример с yield (через `contextmanager`):**
```python
from contextlib import contextmanager
@contextmanager
def my_context():
print("Entering context")
yield
print("Exiting context")
with my_context():
print("Inside context")Оба варианта работают, но yield упрощает создание контекстных менеджеров для простых случаев.

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