все Python 3ООПфункция
__enter__
контекст. менеджер
Метод входа в блок with. То, что он вернул, связывается с именем после as.
Синтаксис
def __enter__(self): ...
Обычно __enter__ возвращает self, но не обязан: open() возвращает сам файл, а менеджер блокировки может не возвращать ничего. Если __enter__ бросил исключение, тело with не выполняется и __exit__ не вызывается — ресурс, захваченный до ошибки, освобождают внутри самого __enter__.
Примеры
class Connection:
def __enter__(self):
print('connect')
return 'conn#1'
def __exit__(self, *exc):
print('close')
with Connection() as c:
print(c) # → connect / conn#1 / close
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности