Встречается на собеседованиях • сегодня

Какие знаешь магические методы в асинхронном контекстном менеджере

В асинхронных контекстных менеджерах используются специальные магические методы:

  1. __aenter__ - асинхронный аналог __enter__, вызывается при входе в контекст (async with)
  2. __aexit__ - асинхронный аналог __exit__, вызывается при выходе из контекста

Пример:

python
class AsyncContextManager:
    async def __aenter__(self):
        print("Entering context")
        return self
    
    async def __aexit__(self, exc_type, exc_val, exc_tb):
        print("Exiting context")

async def main():
    async with AsyncContextManager() as manager:
        print("Inside context")

Ключевые отличия от синхронных:

  • Оба метода должны быть корутинами (async def)
  • Используются с async with вместо обычного with
  • Обрабатывают асинхронные операции внутри контекста
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы