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

पायथन कार्यक्रम में निजी चर


इस ट्यूटोरियल में, हम निजी चर के बारे में जानेंगे पायथन कक्षाओं . में ।

पायथन में निजी चर नामक अवधारणा नहीं है . लेकिन, अधिकांश पायथन डेवलपर्स यह बताने के लिए नामकरण परंपरा का पालन करते हैं कि एक चर सार्वजनिक नहीं है और यह निजी है।

हमें डबल अंडरस्कोर . के साथ एक वैरिएबल नाम शुरू करना होगा इसे एक निजी चर के रूप में प्रस्तुत करने के लिए (वास्तव में नहीं)। उदाहरण:- एक, दो, आदि ..,.

जैसा कि हमने पहले ही कहा कि वेरिएबल जिनके नाम डबल अंडरस्कोर से शुरू होते हैं, वे निजी नहीं हैं। हम अभी भी एक्सेस कर सकते हैं। आइए देखें कि निजी प्रकार के चर कैसे बनाते हैं और फिर हम देखेंगे कि उन्हें कैसे एक्सेस किया जाए।

# एक क्लासक्लास नमूना बनाना:def __init__(self, nv, pv):# सामान्य चर self.nv =nv # निजी चर (वास्तव में नहीं) self.__pv =pv# वर्ग का एक उदाहरण बनाना नमूना नमूना =नमूना ( 'सामान्य चर', 'निजी चर')

हमने एक वर्ग और उसका उदाहरण बनाया है। हमारे पास दो चर हैं एक सामान्य है और दूसरा __init__ विधि के अंदर निजी है। अब, चरों तक पहुँचने का प्रयास करें। और देखें क्या होता है।

उदाहरण

# एक क्लासक्लास नमूना बनाना:def __init__(self, nv, pv):# सामान्य चर self.nv =nv # निजी चर (वास्तव में नहीं) self.__pv =pv# वर्ग का एक उदाहरण बनाना नमूना नमूना =नमूना ( 'सामान्य चर', 'निजी चर')# एक्सेस करना *nv*print(sample.nv)# एक्सेस करना *__pv**print(sample.__pv)

आउटपुट

यदि आप उपरोक्त कोड चलाते हैं, तो आपको निम्न आउटपुट मिलेगा।

सामान्य चर------------------------------------------ ---------------------------- विशेषता त्रुटि ट्रेसबैक (सबसे हालिया कॉल अंतिम)  <मॉड्यूल में> 14 15 # एक्सेस करना 

कार्यक्रम ने बिना किसी त्रुटि के nv चर प्रदर्शित किया। लेकिन हमें विशेषता त्रुटि मिली जब हम __pv . तक पहुंचने का प्रयास करते हैं चर।

हमें यह त्रुटि क्यों मिलती है? क्योंकि चर नाम __pv . के साथ कोई विशेषता नहीं है . फिर स्वयं.__pv =pv के बारे में क्या? init विधि में कथन? हम इस पर थोड़ी चर्चा करेंगे। सबसे पहले, आइए देखें कि __pv . तक कैसे पहुंचें चर।

हमारे पास किसी भी वर्ग चर का उपयोग होता है जिसका नाम डबल अंडरस्कोर . से शुरू होता है _className\_variableName_ . के रूप में . तो, या उदाहरण में यह है_नमूना\_pv_ . अब, _नमूना\_pv_ . का उपयोग करके इसे एक्सेस करें नाम।

उदाहरण

# एक क्लासक्लास नमूना बनाना:def __init__(self, nv, pv):# सामान्य चर self.nv =nv # निजी चर (वास्तव में नहीं) self.__pv =pv# वर्ग का एक उदाहरण बनाना नमूना नमूना =नमूना ( 'सामान्य चर', 'निजी चर')# एक्सेस करना *nv*print(sample.nv)# एक्सेस करना *__pv** _Sample__pv नेमप्रिंट (नमूना._Sample__pv)
का उपयोग करके

आउटपुट

यदि आप उपरोक्त कोड चलाते हैं, तो आपको निम्न परिणाम प्राप्त होंगे।

सामान्य चरनिजी चर

चर का नाम क्यों __pv बदल गया है?

पायथन में, नाम मैंगलिंग नामक एक अवधारणा है। पाइथन डबल अंडरस्कोर . से शुरू होने वाले वैरिएबल के नाम बदल देता है . इसलिए, कोई भी वर्ग चर जिसका नाम डबल अंडरस्कोर से शुरू होता है, वह _className\_variableName_ के रूप में बदल जाएगा

तो, अवधारणा कक्षा के तरीकों के लिए भी लागू होगी। आप इसे निम्न कोड के साथ देख सकते हैं।

उदाहरण

कक्षा नमूना:def __init__(self, a):self.a =a # निजी विधि (वास्तव में नहीं) def __get_a(self):return self.a# वर्ग का एक उदाहरण बनाना नमूना नमूना =नमूना (5) # आह्वान सही नेमप्रिंट वाली विधि 

आउटपुट

यदि आप उपरोक्त कोड चलाते हैं, तो आपको निम्न परिणाम प्राप्त होंगे।

5------------------------------------------ ----------------------------- विशेषता त्रुटि ट्रेसबैक (सबसे हालिया कॉल अंतिम)  <मॉड्यूल> में 14 15 # गलत नाम के साथ विधि का आह्वान ---> 16 प्रिंट (नमूना.__get_a ()) विशेषता त्रुटि:'नमूना' ऑब्जेक्ट में कोई विशेषता नहीं है '__get_a'

निष्कर्ष

डबल अंडरस्कोर . का उपयोग करने का उद्देश्य चर या विधि तक पहुँचने से प्रतिबंधित नहीं है। कहने का तात्पर्य यह है कि विशेष चर या विधि को केवल कक्षा के अंदर ही बांधा जाना है। यदि ट्यूटोरियल में आपके कोई प्रश्न हैं, तो उनका टिप्पणी अनुभाग में उल्लेख करें।


  1. पायथन प्रोग्राम कैसे चलाएं?

    कोड लिखने के बाद, हमें आउटपुट को निष्पादित करने और प्राप्त करने के लिए कोड को चलाने की आवश्यकता होती है। प्रोग्राम चलाने पर, हम जांच सकते हैं कि कोड सही लिखा है या नहीं और वांछित आउटपुट देता है। पायथन प्रोग्राम चलाना काफी आसान काम है। आईडीएलई पर चलाएं IDLE पर पायथन प्रोग्राम चलाने के लिए, दिए गए च

  1. पायथन कार्यक्रम में कैलेंडर

    पायथन एक अंतर्निहित मॉड्यूल है जिसे कैलेंडर . कहा जाता है कैलेंडर के साथ काम करने के लिए। हम कैलेंडर . के बारे में जानने जा रहे हैं इस लेख में मॉड्यूल। कैलेंडर . में सप्ताह मॉड्यूल सोमवार से प्रारंभ होता है और रविवार . को समाप्त होता है . मॉड्यूल कैलेंडर ग्रेगोरियन . का अनुसरण करता है पंचांग। आइए द

  1. QuickSort के लिए पायथन प्रोग्राम

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक सरणी दी गई है, हमें इसे क्विकॉर्ट की अवधारणा का उपयोग करके क्रमबद्ध करने की आवश्यकता है यहां हम पहले सरणी को विभाजित करते हैं और क्रमबद्ध सरणी प्राप्त करने के लिए अलग विभाजन को सॉर्ट करते हैं। आइए अब नीचे दि