Sobes.tech
Junior — Middle

Ի՞նչ բանալի բառ է Python-ում, որը օգտագործվում է կոնտեքստային մենեջերը սահմանելու համար։

sobes.tech AI

Պատասխան AI-ից

Python-ում կոնտեքստային մենեջերը սահմանելու համար օգտագործվում է with բանալի բառը նրա օգտագործման ժամանակ, և սեփական կոնտեքստային մենեջերը ստեղծելու համար սովորաբար կիրառվում են __enter__ և __exit__ մեթոդները դասում:

Այնուամենայնիվ, եթե խոսքը վերաբերում է կոնտեքստային մենեջերի ֆունկցիայի հայտարարությանը, օգտագործվում է @contextmanager դեկորատորը contextlib մոդուլից:

Օրինակ՝ դասի միջոցով կոնտեքստային մենեջերի ստեղծման:

class MyContextManager:
    def __enter__(self):
        print('Մուտք կոնտեքստ')
        return self

    def __exit__(self, exc_type, exc_val, exc_tb):
        print('Ելք կոնտեքստից')

with MyContextManager():
    print('Ներքո՛ւյթ կոնտեքստի մեջ')

Օրինակ՝ @contextmanager օգտագործելով:

from contextlib import contextmanager

@contextmanager
def my_context():
    print('Մուտք')
    yield
    print('Ելք')

with my_context():
    print('Ներքո՛ւյթ')

Արդյունքում, կոնտեքստային մենեջերների հետ աշխատելու համար հիմնական բառերը with (օգտագործելու համար) և __enter__ և __exit__ մեթոդներն են (սահմանելու համար):