Junior — Middle
Python-ში კონტექსტის მენეჯერის განსაზღვრაში რომელი საკვანძო სიტყვა გამოიყენება?
sobes.tech AI
პასუხი AI-სგან
პითონში კონტექსტის მენეჯერის განსაზღვრა ხდება სიტყვა 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__ (განსახილველად).