क्लास मेथड्स

Python में Object-Oriented Programming परिचय

George Boorman

Curriculum Manager, DataCamp

मेथड्स

class Employee:
    def __init__(self, name, salary):
        self.name = name
        self.salary = salary

    def give_raise(self, amount):
        self.salary += amount


# Unique attribute values emp_one = Employee("John", 40000)
emp_one.give_raise(5000) print(emp_one.salary)
45000









# Unique attribute values emp_two = Employee("Jane", 60000)
emp_two.give_raise(5000) print(emp_two.salary)
65000
Python में Object-Oriented Programming परिचय

क्लास मेथड्स

  • क्लास मेथड्स परिभाषित कर सकते हैं
  • इनका स्कोप छोटा रखें क्योंकि ये object-level डेटा नहीं ले सकते
class MyClass:
    # क्लास मेथड घोषित करने के लिए डेकोरेटर इस्तेमाल करें
    @classmethod

# cls आर्गुमेंट क्लास को संदर्भित करता है def my_awesome_method(cls, args...): # यहाँ कार्य करें # किसी instance attribute का उपयोग नहीं कर सकते
# ऑब्जेक्ट नहीं, क्लास को कॉल करें MyClass.my_awesome_method(args...)
  • जैसे self, cls भी एक प्रथा है; कोई भी नाम चल जाएगा
Python में Object-Oriented Programming परिचय

वैकल्पिक कन्स्ट्रक्टर्स

class Employee:
  def __init__(self, name, salary):
      self.name = name
      self.salary = salary

@classmethod def from_file(cls, filename): with open(filename, "r") as f: # पहली लाइन पढ़ें name = f.readline().strip() # दूसरी लाइन integer के रूप में पढ़ें salary = int(f.readline().strip())
return cls(name, salary)
  • वैकल्पिक कन्स्ट्रक्टर्स की सुविधा देते हैं
  • __init__() केवल एक हो सकता है

 

  • ऑब्जेक्ट बनाने के लिए class methods इस्तेमाल करें
  • ऑब्जेक्ट लौटाने के लिए return का उपयोग करें
  • cls(...) __init__(...) को कॉल करेगा
Python में Object-Oriented Programming परिचय

वैकल्पिक कन्स्ट्रक्टर्स

class Employee:
  def __init__(self, name, salary):
      self.name = name
      self.salary = salary
  @classmethod
  def from_file(cls, filename):
      with open(filename, "r") as f:
          name = f.readline().strip()
          salary = int(f.readline().strip())
      return cls(name, salary)  

Employee.txt

टेक्स्ट फ़ाइल जिसमें John Smith नाम और 40000 वेतन है

# Employee() को कॉल किए बिना एक employee बनाएँ
emp = Employee.from_file("employee_data.txt")
print(emp.name)
John Smith
Python में Object-Oriented Programming परिचय

क्लास मेथड्स कब उपयोग करें

  • वैकल्पिक कन्स्ट्रक्टर्स

  • ऐसे मेथड्स जिन्हें instance-level attributes की जरूरत नहीं होती

  • किसी क्लास की केवल एक ही instance (object) तक सीमित करना

    • डेटाबेस कनेक्शंस
    • कॉन्फ़िगरेशन सेटिंग्स
Python में Object-Oriented Programming परिचय

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

Python में Object-Oriented Programming परिचय

Preparing Video For Download...