किसी क्लास के इंस्टेंसेस बनाने के लिए, आप क्लास को क्लास नाम का उपयोग करके कॉल करते हैं और उसके __init__ मेथड द्वारा स्वीकार किए जाने वाले आर्गुमेंट्स पास करते हैं।
"यह Employee क्लास का पहला ऑब्जेक्ट बनाएगा"
emp1 = Employee("Zara", 2000)
"यह Employee क्लास का दूसरा ऑब्जेक्ट बनाएगा"
emp2 = Employee("Manni", 5000)
आप ऑब्जेक्ट के एट्रिब्यूट्स को ऑब्जेक्ट के साथ डॉट ऑपरेटर का उपयोग करके एक्सेस करते हैं। क्लास वेरिएबल को क्लास नाम का उपयोग करके एक्सेस किया जाएगा:
emp1.displayEmployee() emp2.displayEmployee() print "Total Employee %d" % Employee.empCount
उदाहरण
अब, सभी अवधारणाओं को एक साथ रखते हुए:
#!/usr/bin/python
class Employee:
'Common base class for all employees'
empCount = 0
def __init__(self, name, salary):
self.name = name
self.salary = salary
Employee.empCount += 1
def displayCount(self):
print "Total Employee %d" % Employee.empCount
def displayEmployee(self):
print "Name : ", self.name, ", Salary: ", self.salary
"This would create first object of Employee class"
emp1 = Employee("Zara", 2000)
"This would create second object of Employee class"
emp2 = Employee("Manni", 5000)
emp1.displayEmployee()
emp2.displayEmployee()
print "Total Employee %d" % Employee.empCount
आउटपुट
जब उपरोक्त कोड निष्पादित होता है, तो यह निम्नलिखित परिणाम देता है:
Name : Zara ,Salary: 2000 Name : Manni ,Salary: 5000 Total Employee 2
आप किसी भी समय क्लासेस और ऑब्जेक्ट्स के एट्रिब्यूट्स को जोड़, हटा, या संशोधित कर सकते हैं:
emp1.age = 7 # 'age' एट्रिब्यूट जोड़ें emp1.age = 8 # 'age' एट्रिब्यूट संशोधित करें del emp1.age # 'age' एट्रिब्यूट डिलीट करें
एट्रिब्यूट्स एक्सेस करने के लिए सामान्य स्टेटमेंट्स के बजाय, आप निम्नलिखित फ़ंक्शन्स का उपयोग कर सकते हैं:
- getattr(obj, name[, default]) - ऑब्जेक्ट के एट्रिब्यूट को एक्सेस करने के लिए।
- hasattr(obj, name) - यह जांचने के लिए कि कोई एट्रिब्यूट मौजूद है या नहीं।
- setattr(obj, name, value) - एक एट्रिब्यूट सेट करने के लिए। यदि एट्रिब्यूट मौजूद नहीं है, तो यह बनाया जाएगा।
- delattr(obj, name) - एक एट्रिब्यूट डिलीट करने के लिए।
hasattr(emp1, 'age') # True लौटाता है यदि 'age' एट्रिब्यूट मौजूद है getattr(emp1, 'age') # 'age' एट्रिब्यूट का मान लौटाता है setattr(emp1, 'age', 8) # 'age' एट्रिब्यूट को 8 पर सेट करता है delattr(empl, 'age') # 'age' एट्रिब्यूट डिलीट करता है