पायथन में, रनटाइम संदर्भ कथन के साथ समर्थित है। संदर्भ संदर्भ प्रबंधक द्वारा परिभाषित किया गया है। संदर्भ प्रबंधक का उपयोग करके, हम रनटाइम संदर्भ को परिभाषित करने के लिए उपयोगकर्ता परिभाषित कक्षाएं बना सकते हैं। यह स्टेटमेंट बॉडी को निष्पादित करने से पहले कार्य में प्रवेश करता है, और जब स्टेटमेंट बॉडी पूरी हो जाती है, तो यह समाप्त हो जाती है।
संदर्भ प्रबंधक के लिए दो अलग-अलग तरीके हैं। ये तरीके हैं -
विधि __enter__()
रनटाइम संदर्भ में प्रवेश करने के लिए __enter__() विधि का उपयोग किया जाता है। यह या तो वर्तमान वस्तु या अन्य संबंधित वस्तु लौटाएगा। लौटाया गया मूल्य पहचानकर्ता के साथ कथन के खंड के रूप में बाध्य है।
विधि __exit__(exc_type, exc_val, exc_tb)
बूलियन प्रकार के परिणाम को वापस करने के लिए __exit__() विधि का उपयोग किया जाता है। यह किसी भी अपवाद को इंगित करता है जो हुआ। अगर साथ . के लिए एक अपवाद है कथन, यह अंतिम खंड में जाएगा।
उदाहरण कोड
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 ~!@#$%^&*()_+/*-+\][{}|:;"'<.>/,'"]