एकल अंडरस्कोर
एक प्रमुख अंडरस्कोर के साथ एक वर्ग में नाम मूल रूप से अन्य प्रोग्रामर को इंगित करने के लिए होते हैं कि विशेषता या विधि निजी होने का इरादा है।
सेमी-प्राइवेट के लिए सिंगल अंडरस्कोर और पूरी तरह से प्राइवेट वेरिएबल के लिए डबल अंडरस्कोर का उपयोग करने की अनुशंसा की जाती है।
PEP-8 को उद्धृत करने के लिए -
_single_leading_underscore:कमजोर "आंतरिक उपयोग" संकेतक। उदा. एम से आयात * उन वस्तुओं को आयात नहीं करता है जिनका नाम अंडरस्कोर से शुरू होता है।
उदाहरण
निम्न कोड डबल और सिंगल अंडरस्कोर उपसर्गों के बीच अंतर दिखाता है
class MyClass(): def __init__(self): self.__fullrprivate = "World" self._semiprivate = "Hello" mc = MyClass() print mc._semiprivate print mc.__fullprivate
आउटपुट
Traceback (most recent call last): Hello File "C:/Users/TutorialsPoint1/~_1.py", line 8, in <module> print mc.__fullprivate AttributeError: MyClass instance has no attribute '__fullprivate'