पाठ 23 / 47

क्लास, ऑब्जेक्ट और __init__

क्लास एक खाका है; ऑब्जेक्ट उससे बनी एक इकाई है।

__init__ और self

class खाका परिभाषित करता है। __init__ ऑब्जेक्ट बनते ही अपने-आप चलता है, और self उसी विशेष ऑब्जेक्ट को दर्शाता है।

class Dog:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def bark(self):
        return f"{self.name} says Woof!"

rex = Dog("Rex", 3)
print(rex.bark())   # Rex says Woof!

खाका बनाम इंस्टेंस

क्लास को कुकी कटर और ऑब्जेक्ट को कुकी समझें — आकार वही, पर हर बार अलग आटा (डेटा)।

self क्यों?

self पहले पैरामीटर का सिर्फ़ एक पारंपरिक नाम है — पायथन इंस्टेंस अपने-आप भेजता है; rex.bark() कॉल करते समय आप इसे खुद नहीं देते।