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

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

वास्तविक शब्दों में (व्यावहारिक रूप से), पायथन में निजी सदस्य चर नामक कुछ भी नहीं है। हालाँकि, शुरुआत में दो अंडरलाइन (__) जोड़ने से एक वैरिएबल या एक मेथड प्राइवेट बन जाता है, जो कि ज्यादातर पायथन कोड द्वारा इस्तेमाल किया जाने वाला कन्वेंशन है।

आइए इस अवधारणा को एक उदाहरण के माध्यम से समझते हैं -

privateVar1.py

class myClass:
   __privateVar = 27;
   def __privMeth(self):
      print("I'm inside class myClass")
   def hello(self):
      print("Private Variable value: ",myClass.__privateVar)
foo = myClass()
foo.hello()
foo.__privateMeth

उपरोक्त कार्यक्रम में, __privMeth एक निजी विधि है और __privateVar एक निजी चर है। आइए अब इसका आउटपुट देखें -

आउटपुट

Private Variable value: 27
Traceback (most recent call last):
   File "C:/Python/Python361/privateVar1.py", line 12, in <module>
   foo.__privateMeth
AttributeError: 'myClass' object has no attribute '__privateMeth'

उपरोक्त आउटपुट से, हम देख सकते हैं कि "myClass" वर्ग के बाहर, आप निजी विधि के साथ-साथ निजी चर तक नहीं पहुँच सकते। हालाँकि, कक्षा (myClass) के अंदर हम निजी चरों तक पहुँच सकते हैं। हैलो () विधि में, __privateVar चर का उपयोग किया जा सकता है (जैसा कि ऊपर दिखाया गया है:"निजी चर मान:27")।

तो उपरोक्त उदाहरण से, हम समझ सकते हैं कि कक्षा के अंदर सभी चर और विधियां विधि द्वारा सार्वजनिक हैं। जब हम डेटा सदस्य को निजी घोषित करते हैं, तो इसका मतलब है कि वे केवल वर्ग के पक्ष में पहुंच योग्य हैं और कक्षा के बाहर पहुंच योग्य नहीं हैं। एक चर या विधि को निजी बनाने की तकनीक को डेटा मैंगलिंग कहा जाता है। फ़ॉर्म का कोई भी पहचानकर्ता __स्पैम (कम से कम दो प्रमुख अंडरस्कोर, अधिकतम एक पिछला अंडरस्कोर) को टेक्स्ट के रूप में _classname__spam से बदल दिया जाता है , जहां वर्गनाम एक अग्रणी अंडरस्कोर के साथ वर्तमान वर्ग का नाम छीन लिया गया है। यह मैंगलिंग पहचानकर्ता की वाक्यात्मक स्थिति की परवाह किए बिना किया जाता है, जब तक कि यह एक वर्ग की परिभाषा के भीतर होता है।

डबल अंडरस्कोर नाम इसके बजाय एक उपवर्ग द्वारा आकस्मिक ओवरराइडिंग से बचने के लिए हैं।


  1. पायथन वर्ग में सार्वजनिक और निजी चर क्या हैं?

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

  1. पायथन में एक स्ट्रिंग के रूप में एक चर नाम कैसे प्राप्त करें?

    यह वास्तव में ऐसा कुछ नहीं है जो आप पायथन में करते हैं क्योंकि चर वास्तव में वस्तुओं के नाम मैपिंग हैं। पायथन में एकमात्र ऑब्जेक्ट जिसमें विहित नाम हैं, मॉड्यूल, फ़ंक्शन और कक्षाएं हैं, और निश्चित रूप से इस बात की कोई गारंटी नहीं है कि फ़ंक्शन या वर्ग को परिभाषित करने या मॉड्यूल आयात किए जाने के बाद

  1. पावरशेल में चर

    कंप्यूटर विज्ञान (और आकस्मिक कंप्यूटिंग) में, एक चर स्मृति में एक स्थान है जो बाद में उपयोग के लिए मनमानी जानकारी रखता है। दूसरे शब्दों में, यह आपके लिए डेटा डालने और डेटा निकालने के लिए एक अस्थायी भंडारण कंटेनर है। बैश शेल में, वह डेटा एक शब्द हो सकता है (एक स्ट्रिंग , कंप्यूटर भाषा में) या एक संख्