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

पाइथन चर में डबल अंडरस्कोर उपसर्ग क्या करता है?

डबल अंडरस्कोर प्रीफ़िक्स

पायथन में, हम डबल अंडरस्कोर का उपयोग करते हैं, अर्थात, विशेषता के नाम से पहले __ और वे विशेषताएँ बाहर सीधे पहुँच योग्य/दृश्यमान नहीं होंगी। डबल अंडरस्कोर विशेषता के नाम का प्रबंधन करता है। हालाँकि, उस चर को अभी भी कुछ ट्रिकी सिंटैक्स का उपयोग करके एक्सेस किया जा सकता है लेकिन ऐसा करना आम तौर पर एक अच्छा विचार नहीं है। डबल अंडरस्कोर का उपयोग पूरी तरह से निजी चर के लिए किया जाता है।

पायथन दस्तावेज़ों के अनुसार -

यदि आपकी कक्षा को उपवर्गित करने का इरादा है, और आपके पास ऐसी विशेषताएँ हैं जिनका आप उपवर्गों का उपयोग नहीं करना चाहते हैं, तो उन्हें दोहरे अग्रणी अंडरस्कोर और कोई अनुगामी अंडरस्कोर के साथ नाम देने पर विचार करें। यह पायथन के नाम मैंगलिंग एल्गोरिदम को आमंत्रित करता है, जहां वर्ग का नाम विशेषता नाम में उलझा हुआ है। यह विशेषता नाम टकराव से बचने में मदद करता है, उपवर्गों में अनजाने में समान नाम वाले गुण होने चाहिए।

उदाहरण

नीचे दिया गया कोड डबल अंडरस्कोर का उपयोग दिखाता है।

class MyClass:
    __hiddenVar = 0
    def add(self, increment):
       self.__hiddenVar += increment
       print (self.__hiddenVar)
myObject = MyClass()
myObject.add(3)
myObject.add (8)
print (myObject.__hiddenVar)

आउटपुट

3
Traceback (most recent call last):
11
  File "C:/Users/TutorialsPoint1/.PyCharmCE2017.2/config/scratches/scratch_1.py", line 12, in <module>
    print (myObject.__hiddenVar)
AttributeError: MyClass instance has no attribute '__hiddenVar'

उपरोक्त कार्यक्रम में, हमने ऑब्जेक्ट का उपयोग करके कक्षा के बाहर छिपे हुए चर को एक्सेस करने का प्रयास किया और इसने एक अपवाद फेंक दिया।


  1. पायथन में os.pipe () फ़ंक्शन क्या करता है?

    विधि os.pipe() एक पाइप बनाता है और फाइल डिस्क्रिप्टर (आर, डब्ल्यू) की एक जोड़ी देता है जो क्रमशः पढ़ने और लिखने के लिए प्रयोग योग्य है। उदाहरण import os, sys print "The child will write text to a pipe and " print "the parent will read the text written by child..." # file descript

  1. प्रिंट>> पायथन में क्या करता है?

    मानक प्रिंट स्टेटमेंट का विस्तार करने के लिए एक सिंटैक्स है ताकि इसे डिफ़ॉल्ट sys.stdout के बजाय किसी भी फ़ाइल जैसी वस्तु पर प्रिंट करने के लिए उपयोग किया जा सके। इसलिए इसका उपयोग सीधे फाइलों में प्रिंट करने के लिए किया जा सकता है। उदाहरण उदाहरण के लिए, आप my_file नामक फ़ाइल खोलते हैं, फिर आप इसका

  1. पाइथन में स्ट्रिंग्स का % क्या करता है?

    % एक स्ट्रिंग स्वरूपण ऑपरेटर या इंटरपोलेशन ऑपरेटर है। प्रारूप% मान (जहां प्रारूप एक स्ट्रिंग है) को देखते हुए, प्रारूप में% रूपांतरण विनिर्देशों को मूल्यों के शून्य या अधिक तत्वों से बदल दिया जाता है। प्रभाव सी भाषा में स्प्रिंटफ () का उपयोग करने के समान है। उदाहरण के लिए, >>> lang = "