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__ մեթոդներն են (սահմանելու համար):