Python Glossary English

все 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Сообщить о неточности