आपका अवलोकन सही है। यह पायथन प्रोग्रामिंग की सामान्य शैली नहीं है। गुण सभी सार्वजनिक हैं, इसलिए आप उन्हें किसी भी ऑब्जेक्ट के गुणों के साथ ही एक्सेस (प्राप्त, सेट, डिलीट) करते हैं (केवल कक्षाएं या उदाहरण नहीं)। यह कहना आसान है कि जावा प्रोग्रामर पाइथन सीखते हैं क्योंकि उनके पायथन कोड पायथन सिंटैक्स का उपयोग कर जावा की तरह दिखते हैं!
मैं निश्चित रूप से सभी पिछले पोस्टर से सहमत हैं, विशेष रूप से @ फिलिप के प्रसिद्ध लेख और @ मैक्स के सुझाव को मैक्सिमिलानो के लिंक की स्थापना (और हो रही है) वर्ग और उदाहरण विशेषताओं का मानक तरीका तुलना में अधिक जटिल कुछ भी गुण का उपयोग करने के लिए है कि (या विशेषताओं को प्राप्त करने और सेटिंग को अनुकूलित करने के लिए वर्णनकर्ताओं को और भी सामान्यीकृत करने के लिए)! (यह निजी, संरक्षित, दोस्त के अपने खुद के अनुकूलित संस्करण, या जो कुछ भी नीति अगर आप सार्वजनिक अलावा कुछ की इच्छा आप चाहते हैं जोड़ने के लिए सक्षम होने के भी शामिल है।)
एक दिलचस्प डेमो के रूप में, Core Python Programming (अध्याय 13, खंड में 13.16), मैं स्मृति में बजाय गुणों को डिस्क में स्टोर करने के लिए वर्णनकर्ताओं का उपयोग करने के उदाहरण के साथ आया !! हां, यह लगातार भंडारण का एक अजीब रूप है, लेकिन आपको क्या संभव है इसका एक उदाहरण दिखाता है!
class MyClass(object):
def __init__(self):
self.my_attribute = 0
my_object = MyClass()
my_object.my_attribute = 1 # etc.
आप कुछ करना चाहते हैं: Python: multiple properties, one setter/getter
हर किसी से ग्रीटिंग प्रतिक्रियाएं। माना जाता है कि, यह प्रश्न इस के एक ऑफशूट है http://stackoverflow.com/questions/1022970/getters-and-setters-code-smell-necessary-evil-or-cant-live-without-them-clos हालांकि, यह ऐसा लगता है कि मुझे "जे" शब्द परिप्रेक्ष्य से देख रहे लोगों की भीड़ से छेड़छाड़ की गई थी। स्वच्छता में मेरा विश्वास बहाल करने के लिए फिर से धन्यवाद ... –
संदर्भ महत्वपूर्ण है, और यहां पाइथन और जावा बस अलग हैं। (हालांकि, मैंने शीर्षक से पायथन को हटा दिया क्योंकि हम इसके लिए टैग का उपयोग SO;; –