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
class MyClass: # क्लास मेथड घोषित करने के लिए डेकोरेटर इस्तेमाल करें @classmethod# cls आर्गुमेंट क्लास को संदर्भित करता है def my_awesome_method(cls, args...): # यहाँ कार्य करें # किसी instance attribute का उपयोग नहीं कर सकते# ऑब्जेक्ट नहीं, क्लास को कॉल करें MyClass.my_awesome_method(args...)
self, cls भी एक प्रथा है; कोई भी नाम चल जाएगा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__() केवल एक हो सकता है
return का उपयोग करेंcls(...) __init__(...) को कॉल करेगा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() को कॉल किए बिना एक employee बनाएँ
emp = Employee.from_file("employee_data.txt")
print(emp.name)
John Smith
वैकल्पिक कन्स्ट्रक्टर्स
ऐसे मेथड्स जिन्हें instance-level attributes की जरूरत नहीं होती
किसी क्लास की केवल एक ही instance (object) तक सीमित करना
Python में Object-Oriented Programming परिचय