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

Python क्लास में पब्लिक और प्राइवेट वेरिएबल क्या हैं?

पब्लिक वेरिएबल्स

Python हमें किसी भी वेरिएबल को एक्सेस करने या Python प्रोग्राम में किसी भी मेंबर मेथड को कॉल करने से प्रतिबंधित नहीं करता।

Python में सभी Python वेरिएबल्स और मेथड्स डिफ़ॉल्ट रूप से पब्लिक होते हैं। इसलिए जब हम किसी वेरिएबल या मेथड को पब्लिक बनाना चाहते हैं, तो हम बस कुछ नहीं करते। आइए नीचे उदाहरण देखें:

उदाहरण

class Mug:
    def __init__(self):
        self.color = None
        self.content = None
    def fill(self, beverage):
        self.content = beverage
    def empty(self):
        self.content = None

brownMug = Mug()
brownMug.color = "brown"
print(brownMug.empty())
print(brownMug.fill('tea'))
print(brownMug.color)
print(brownMug.content)

कोड में सभी वेरिएबल्स और मेथड्स डिफ़ॉल्ट रूप से पब्लिक हैं।

जब हम अपने डेटा मेंबर को प्राइवेट घोषित करते हैं, तो हमारा मतलब है कि कोई भी इसे क्लास के बाहर से एक्सेस न कर सके। यहां Python नेम मैंगलिंग नामक तकनीक सपोर्ट करता है। यह फीचर हर मेंबर नाम को जिसे कम से कम दो अंडरस्कोर से प्रीफिक्स किया गया हो और अधिकतम एक अंडरस्कोर से सफ़िक्स किया गया हो, _<className><memberName> में बदल देता है। तो अपने मेंबर को प्राइवेट बनाने के लिए, आइए नीचे उदाहरण देखें:

उदाहरण

class Cup:
    def __init__(self, color):
        self.__content = None  # प्राइवेट वेरिएबल
    def fill(self, beverage):
        self.__content = beverage
    def empty(self):
        self.__content = None

अब हमारे कप को केवल fill() और empty() मेथड्स का उपयोग करके भरा और खाली किया जा सकता है। ध्यान दें, यदि आप बाहर से __content एक्सेस करने की कोशिश करते हैं, तो आपको एरर मिलेगा। लेकिन आप अभी भी इस तरह कुछ पा सकते हैं:

redCup = Cup("red")
redCup._Cup__content = "tea"
  1. पायथन में इनहेरिटेंस (Inheritance) पायथन में इनहेरिटेंस (Inheritance)

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

  1. - पायथन 2.x और 3.x वर्जन्स में क्या अंतर हैं?

    पायथन 2.x लिगेसी है, पायथन 3.x भाषा का वर्तमान और भविष्य है। केवल 3.x रिलीज में उपलब्ध सुविधाओं की एक गैर-विस्तृत सूची जो पायथन 2.x में उपलब्ध नहीं हैं - स्ट्रिंग्स डिफ़ॉल्ट रूप से यूनिकोड हैं साफ यूनिकोड/बाइट्स पृथक्करण अपवाद चेनिंग फंक्शन एनोटेशन कीवर्ड-ओनली आर्गुमेंट्स के लिए सिंटैक्स एक्सटेंड

  1. - पायथन 2.7.x और पायथन 3.x के बीच मुख्य अंतर क्या हैं?

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