क्लास की संरचना: एट्रिब्यूट्स और मेथड्स

Python में ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग

Alex Yarosh

Content Quality Analyst @ DataCamp

एक बेसिक क्लास

class Customer:

# code for class goes here
pass
  • class <name>: से क्लास परिभाषा शुरू होती है
  • class के अंदर का कोड इंडेंटेड होता है
  • "खाली" क्लास बनाने के लिए pass का उपयोग करें
c1 = Customer()
c2 = Customer()
  • ClassName() से ClassName क्लास का ऑब्जेक्ट बनाएँ
Python में ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग

क्लास में मेथड्स जोड़ें

class Customer:  

    def identify(self, name):   
      print("I am Customer " + name)
  • मेथड परिभाषा = क्लास के भीतर फंक्शन परिभाषा
  • मेथड परिभाषा में पहला आर्ग्यूमेंट self रखें
cust = Customer()
cust.identify("Laura")
I am Customer Laura
  • ऑब्जेक्ट पर मेथड कॉल करते समय self न दें
Python में ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग
class Customer:  

    def identify(self, name):   
      print("I am Customer " + name)

cust = Customer()
cust.identify("Laura")

self क्या है?

  • क्लास टेम्पलेट होते हैं; किसी खास ऑब्जेक्ट के डेटा का संदर्भ कैसे दें?
  • self क्लास परिभाषा में किसी विशेष ऑब्जेक्ट का प्रतिनिधि होता है
  • हर मेथड का पहला आर्ग्यूमेंट होना चाहिए
  • जब मेथड ऑब्जेक्ट से कॉल होगा, Python self संभालेगा:

cust.identify("Laura") को ऐसे समझा जाएगा Customer.identify(cust, "Laura")

Python में ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग

हमें एट्रिब्यूट्स चाहिए

  • एन्कैप्सुलेशन: डेटा और उस पर काम करने वाले मेथड्स को साथ बाँधना
  • जैसे Customer का name एक एट्रिब्यूट होना चाहिए

  $$\text{\Large{एट्रिब्यूट्स मेथड्स में असाइनमेंट (=) से बनते हैं}}$$

Python में ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग

क्लास में एट्रिब्यूट जोड़ें

class Customer:  
    # set the name attribute of an object to new_name
    def set_name(self, new_name):

# Create an attribute by assigning a value self.name = new_name # <-- will create .name when set_name is called
cust = Customer()                   # <--.name doesn't exist here yet

cust.set_name("Lara de Silva") # <--.name is created and set to "Lara de Silva"
print(cust.name) # <--.name can be used
Lara de Silva
Python में ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग

पुराना संस्करण

class Customer:  



    # Using a parameter
    def identify(self, name):   
      print("I am Customer" + name)
cust = Customer()

cust.identify("Eris Odoro")
I am Customer Eris Odoro

नया संस्करण

class Customer:  
   def set_name(self, new_name): 
      self.name = new_name

    # ऑब्जेक्ट के .name का उपयोग
    def identify(self):     
      print("I am Customer" + self.name)
cust = Customer()
cust.set_name("Rashid Volkov")
cust.identify()
I am Customer Rashid Volkov
Python में ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग

अभ्यास करते हैं!

Python में ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग

Preparing Video For Download...