एक क्लास विभिन्न ऑब्जेक्ट्स के निर्माण के लिए एक ब्लूप्रिंट है। जब ऑब्जेक्ट्स क्लास बनाने के लिए बनाए जाते हैं, तो वे क्लास एट्रिब्यूट पर निर्भर नहीं रहते। साथ ही, क्लास का बनाए गए इंस्टेंसेज के एट्रिब्यूट्स पर कोई नियंत्रण नहीं होता।
नीचे दिए गए उदाहरण में हम MainClass को क्लास एट्रिब्यूट के साथ देखते हैं और मेन क्लास से बने ऑब्जेक्ट्स के अपने एट्रिब्यूट वैल्यूज़ होते हैं। इन वैल्यूज़ को प्रिंट करने से हमें स्पष्टता मिलती है। अंत में क्लास ऑब्जेक्ट एट्रिब्यूट्स के वैल्यूज़ को एक्सेस नहीं कर सकती।
उदाहरण
class MainClass(object):
class_attr = 'Sun'
def __init__(self, instance_attr):
self.instance_attr = instance_attr
if __name__ == '__main__':
obj1 = MainClass('Mon')
obj2 = MainClass('Tue')
# इंस्टेंस एट्रिब्यूट्स प्रिंट करें
print(obj1.instance_attr)
print(obj2.instance_attr)
# MainClass का उपयोग करके क्लास एट्रिब्यूट प्रिंट करें
print(MainClass.class_attr)
# ऑब्जेक्ट्स का उपयोग करके क्लास एट्रिब्यूट प्रिंट करें
print(obj1.class_attr)
print(obj2.class_attr)
# इंस्टेंस एट्रिब्यूट को क्लास प्रॉपर्टी के रूप में प्रिंट करने पर त्रुटि होती है
# print(MainClass.instance_attr)
आउटपुट
उपरोक्त कोड चलाने पर निम्न परिणाम मिलता है:
Mon Tue Sun Sun Sun