имеет значения) через контекстный менеджер.
где будет правильно в данном случае инициализировать саму сессию/клиента/соединение? в init или enter?
работает понятно дело и так и так, важно понять есть ли принципиальная разница где именно это делать и почему не надо делать по-другому.
пример просто от фанаря для наглядности
class Connect():
def ___init___(self):
self.client = ClientSession()
def __aenter___(self):
return self
def ____aexit___(self, exc_type, exc_val, exc_tb):
await self.client.close()
aenter будет вызван при async with connect() Если вызвать случайно connect(), то сессия откроется в Вашем случае, разве нет ?
в случае если делать в init, то да
в ентере
thanks
Обсуждают сегодня