Junior — Middle
Python-da öz kontekst menecerinizi həyata keçirmək üçün hansı addımlar atılmalıdır?
sobes.tech Süni İntellekt
AI-dan cavab
Python-da öz kontekst menecerinizi həyata keçirmək üçün, aşağıdakı metodları həyata keçirən obyekt müəyyən etməlisiniz:
__enter__(self)— kontekstə daxil olarkən çağrılır (with),assonrası dəyişənə bağlanacaq obyektin qaytarır.__exit__(self, exc_type, exc_val, exc_tb)— kontekstdən çıxarkən çağrılır, istisna haqqında məlumat alır (əgər varsa), və onu idarə etməyə və ya susdurmağa imkan verir.
Sadə kontekst menecerinin nümunəsi:
class MyContextManager:
def __enter__(self):
print("Kontekstə daxil olma")
return self
def __exit__(self, exc_type, exc_val, exc_tb):
print("Kontekstdən çıxış")
if exc_type:
print(f"İstisnaya işləmə: {exc_val}")
# İstisnayı susdurmaq üçün True qaytarırıq
return True
with MyContextManager() as cm:
print("with daxilində")
raise ValueError("Xəta") # Xəta idarə olunacaq və susdurulacaq
Həmçinin, contextlib.contextmanager dekoratorundan istifadə edərək, generator əsasında kontekst meneceri yaratmaq mümkündür, bu kodu sadələşdirir.