Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन कॉन्टेक्स्ट मैनेजर टाइप्स


पायथन में, रनटाइम कॉन्टेक्स्ट with स्टेटमेंट द्वारा सपोर्टेड होता है। कॉन्टेक्स्ट को कॉन्टेक्स्ट मैनेजर द्वारा परिभाषित किया जाता है। कॉन्टेक्स्ट मैनेजर का उपयोग करके, हम रनटाइम कॉन्टेक्स्ट को परिभाषित करने के लिए यूजर-डिफाइंड क्लासेस बना सकते हैं। यह स्टेटमेंट बॉडी एक्जीक्यूट होने से पहले टास्क में प्रवेश करता है, और जब स्टेटमेंट बॉडी पूरी हो जाती है, तो यह समाप्त होता है।

कॉन्टेक्स्ट मैनेजर के लिए दो अलग-अलग मेथड्स होते हैं:

__enter__() मेथड

__enter__() मेथड रनटाइम कॉन्टेक्स्ट में प्रवेश करने के लिए उपयोग किया जाता है। यह वर्तमान ऑब्जेक्ट या कोई अन्य संबंधित ऑब्जेक्ट लौटाता है। लौटाया गया मान with स्टेटमेंट के as क्लॉज में आइडेंटिफायर से बंधा होता है।

__exit__(exc_type, exc_val, exc_tb) मेथड

__exit__() मेथड बूलियन टाइप रिजल्ट लौटाता है। यह किसी भी अपवाद को इंगित करता है जो हुआ हो। यदि with स्टेटमेंट के लिए कोई अपवाद है, तो यह एंड ब्लॉक पर जाएगा।

उदाहरण कोड

class MyFileManager:
    def __init__(self, fname):
        self.file_name = fname
    def __enter__(self):
        self.myFile = open(self.file_name, 'r')
        return self.myFile
    def __exit__(self, exc_type, exc_val, exc_tb):
        if self.myFile:
            self.myFile.close()

with MyFileManager('sampleTextFile.txt') as myFile:
    x = myFile.read()
print(x)

आउटपुट

Test File. We can store different contents in this file ~!@#$%^&*()_+/*-+\][{}|:;"'<.>/,'"]
  1. पायथन - किवी (Kivy) में बटन एक्शन पायथन - किवी (Kivy) में बटन एक्शन

    किवी (Kivy) अभिनव उपयोगकर्ता इंटरफेस वाले एप्लिकेशन के तेजी से विकास के लिए एक ओपन सोर्स पायथन लाइब्रेरी है, जैसे मल्टी-टच ऐप्स। इसका उपयोग एंड्रॉइड एप्लिकेशन के साथ-साथ डेस्कटॉप एप्लिकेशन विकसित करने के लिए किया जाता है। इस लेख में हम देखेंगे कि बटन दबाए जाने पर इवेंट्स का उपयोग कैसे करें। नीचे दि

  1. Tkinter Python में संकुचनशील फलक Tkinter Python में संकुचनशील फलक

    Tkinter Python का GUI बिल्डिंग लाइब्रेरी है। इस लेख में हम देखेंगे कि हम संकुचनशील फलक कैसे बना सकते हैं। वे उपयोगी होते हैं जब हमारे पास GUI कैनवास पर प्रदर्शित करने के लिए बड़ी मात्रा में डेटा होता है लेकिन हम इसे हमेशा प्रदर्शित नहीं करना चाहते। इसे संकुचनशील बनाया जाता है ताकि इसे आवश्यकतानुसार

  1. पायथन में इनहेरिटेंस (Inheritance) पायथन में इनहेरिटेंस (Inheritance)

    इस लेख में, हम पायथन 3.x या उससे पहले के संस्करण में इनहेरिटेंस और क्लासेस को एक्सटेंड करने के बारे में जानेंगे।इनहेरिटेंस वास्तविक दुनिया के संबंधों को अच्छी तरह से दर्शाता है, पुन: प्रयोज्यता प्रदान करता है और ट्रांजिटिविटी का समर्थन करता है। यह तेज़ विकास समय, आसान रखरखाव और विस्तार में आसानी प्र