python - tutorial - चर और विधियों के साथ अंडरस्कोर बनाम डबल अंडरस्कोर




python tutorial pdf (2)

इस प्रश्न का उत्तर यहां दिया गया है:

कोई मुझे यह बताने के लिए काफी अच्छा था कि __method () मैंगल्स लेकिन उसे और परेशान करने की बजाय, ऐसे कई अन्य लोग हैं जिन्हें सहायता चाहिए, मैं सोच रहा था कि कोई अंतर भिन्नता को विस्तारित कर सकता है या नहीं।

उदाहरण के लिए मुझे उलझन की जरूरत नहीं है, लेकिन _ निजी रहती है इसलिए कोई उदाहरण नहीं कर सकता ._method ()? या क्या यह इसे अद्वितीय बनाकर एक और चर को ओवरराइट करने से रोकता है? मुझे अपने आंतरिक तरीकों की आवश्यकता नहीं है "छुपा" लेकिन चूंकि वे उपयोग करने के लिए विशिष्ट हैं, इसलिए मैं नहीं चाहता कि उन्हें कक्षा के बाहर इस्तेमाल किया जाए।


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

एक डबल अग्रणी अंडरस्कोर वास्तव में विशेषता का नाम बदलता है ताकि विरासत पदानुक्रम में दो वर्ग एक ही विशेषता नाम का उपयोग कर सकें, और वे टकराएंगे।


पायथन में कोई पहुंच नियंत्रण नहीं है। आप कक्षा के सभी विशेषताओं तक पहुंच सकते हैं, और इसमें _class__variable नाम शामिल हैं ( _class__variable रूप में)। अपने आप से डेवलपर्स की रक्षा करने की कोशिश करने के बजाय अपने कोड और एपीआई पर ध्यान केंद्रित करें।





python