# इंस्टेंस बनाम क्लास एट्रिब्यूट — पायथन

Source: https://www.geekswithgeeks.com/hi/python/py-instance-class-attrs

> एक ऑब्जेक्ट का डेटा बनाम क्लास के सभी ऑब्जेक्ट में साझा डेटा।

## दो तरह के एट्रिब्यूट

**इंस्टेंस एट्रिब्यूट** (`self.x = ...` से) हर ऑब्जेक्ट में अलग होते हैं। **क्लास एट्रिब्यूट** क्लास पर परिभाषित होते हैं और हर इंस्टेंस साझा करता है।

```python
class Dog:
    species = "Canis familiaris"   # class attribute

    def __init__(self, name):
        self.name = name              # instance attribute

a = Dog("Rex")
b = Dog("Fido")
print(a.species, b.species)  # same for both
print(a.name, b.name)        # different
```

## बदलाव में सावधानी

क्लास से क्लास एट्रिब्यूट बदलना (`Dog.species = ...`) सभी इंस्टेंस को प्रभावित करता है; एक **इंस्टेंस** पर सेट करना (`a.species = ...`) सिर्फ़ उस ऑब्जेक्ट के लिए उसे छिपा देता है।
