Junior — Middle
Python'da kontekst menejerini aniqlash uchun qaysi kalit so'z ishlatiladi?
sobes.tech AI
AIdan javob
Python'da, kontekst menejeri belgilash uchun with kalit so'zi ishlatiladi, va o'z kontekst menejerini yaratish uchun odatda __enter__ va __exit__ metodlari sinfda qo'llaniladi.
Ammo, agar bu kontekst menejeri funksiyasini e'lon qilish bo'lsa, contextlib modulidan @contextmanager dekoratori ishlatiladi.
Sinf yordamida kontekst menejeri yaratish misoli:
class MyContextManager:
def __enter__(self):
print('Kontekstga kirish')
return self
def __exit__(self, exc_type, exc_val, exc_tb):
print('Kontekstdan chiqish')
with MyContextManager():
print('Kontekst ichida')
@contextmanager bilan misol:
from contextlib import contextmanager
@contextmanager
def my_context():
print('Kirish')
yield
print('Chiqish')
with my_context():
print('Ichida')
Shu sababli, kontekst menejeri bilan ishlash uchun kalit so'zlar with (foydalanish uchun) va __enter__ hamda __exit__ metodlari (ta'riflash uchun) hisoblanadi.