Sobes.tech
Junior — Middle

Ce cuvânt cheie în Python se folosește pentru a defini un manager de context?

sobes.tech AI

Răspuns de la AI

În Python, pentru a defini un manager de context se folosește cuvântul cheie with în timpul utilizării sale, iar pentru crearea propriului manager de context, de obicei se aplică metodele __enter__ și __exit__ într-o clasă.

Totuși, dacă vorbim despre declarația unei funcții manager de context, se folosește decoratorul @contextmanager din modulul contextlib.

Exemplu de creare a unui manager de context cu ajutorul unei clase:

class MyContextManager:
    def __enter__(self):
        print('Intrare în context')
        return self

    def __exit__(self, exc_type, exc_val, exc_tb):
        print('Ieșire din context')

with MyContextManager():
    print('În interiorul contextului')

Exemplu cu @contextmanager:

from contextlib import contextmanager

@contextmanager
def my_context():
    print('Intrare')
    yield
    print('Ieșire')

with my_context():
    print('În interior')

Prin urmare, cuvintele cheie pentru lucrul cu managerii de context sunt with (pentru utilizare) și metodele __enter__ și __exit__ (pentru definire).