Python में ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग
Alex Yarosh
Content Quality Analyst @ DataCamp
class Employee:
def __init__(self, name, salary):
self.name = name
self.salary = salary
emp1 = Employee("Teo Mille", 50000)
emp2 = Employee("Marta Popov", 65000)
name, salary इंस्टेंस एट्रिब्यूट्स हैंself किसी इंस्टेंस से जुड़ता हैclass के बॉडी में क्लास एट्रिब्यूट्स परिभाषित करेंclass MyClass:
# Define a class attribute
CLASS_ATTR_NAME = attr_value
class Employee: # Define a class attribute MIN_SALARY = 30000 #<--- no self.def __init__(self, name, salary): self.name = name # Use class name to access class attribute if salary >= Employee.MIN_SALARY: self.salary = salary else: self.salary = Employee.MIN_SALARY
MIN_SALARY सभी इंस्टेंस में साझा हैself न उपयोग करेंClassName.ATTR_NAME उपयोग करेंclass Employee: # Define a class attribute MIN_SALARY = 30000def __init__(self, name, salary): self.name = name # Use class name to access class attribute if salary >= Employee.MIN_SALARY: self.salary = salary else: self.salary = Employee.MIN_SALARY
emp1 = Employee("TBD", 40000)
print(emp1.MIN_SALARY)
30000
emp2 = Employee("TBD", 60000)
print(emp2.MIN_SALARY)
30000
Circle क्लास के लिए piclass MyClass: @classmethod # <---use decorator to declare a class methoddef my_awesome_method(cls, args...): # <---cls argument refers to the class # Do stuff here # Can't use any instance attributes :(
MyClass.my_awesome_method(args...)
class Employee:
MIN_SALARY = 30000
def __init__(self, name, salary=30000):
self.name = name
if salary >= Employee.MIN_SALARY:
self.salary = salary
else:
self.salary = Employee.MIN_SALARY
__init__() हो सकता है
@classmethod
def from_file(cls, filename):
with open(filename, "r") as f:
name = f.readline()
return cls(name)
return उपयोग करेंcls(...) __init__(...) को कॉल करेगाclass Employee:
MIN_SALARY = 30000
def __init__(self, name, salary=30000):
self.name = name
if salary >= Employee.MIN_SALARY:
self.salary = salary
else:
self.salary = Employee.MIN_SALARY
@classmethod
def from_file(cls, filename):
with open(filename, "r") as f:
name = f.readline()
return cls(name)

# Employee() को सीधे बुलाए बिना एक employee बनाएँ
emp = Employee.from_file("employee_data.txt")
type(emp)
__main__.Employee
Python में ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग