Sobes.tech
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__ (განსახილველად).