Computer >> Máy Tính >  >> Lập trình >> Python

Tạo đối tượng phiên bản trong Python

Để tạo các thể hiện của một lớp, bạn gọi lớp bằng tên lớp và chuyển vào bất kỳ đối số nào mà phương thức __init__ của nó chấp nhận.

"This would create first object of Employee class"
emp1 = Employee("Zara", 2000)
"This would create second object of Employee class"
emp2 = Employee("Manni", 5000)

Bạn truy cập các thuộc tính của đối tượng bằng toán tử dấu chấm với đối tượng. Biến lớp sẽ được truy cập bằng cách sử dụng tên lớp như sau -

emp1.displayEmployee()
emp2.displayEmployee()
print "Total Employee %d" % Employee.empCount

Ví dụ

Bây giờ, tập hợp tất cả các khái niệm lại với nhau -

#!/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

Đầu ra

Khi đoạn mã trên được thực thi, nó tạo ra kết quả sau -

Name : Zara ,Salary: 2000
Name : Manni ,Salary: 5000
Total Employee 2

Bạn có thể thêm, xóa hoặc sửa đổi các thuộc tính của lớp và đối tượng bất kỳ lúc nào -

emp1.age = 7 # Add an 'age' attribute.
emp1.age = 8 # Modify 'age' attribute.
del emp1.age # Delete 'age' attribute.

Thay vì sử dụng các câu lệnh bình thường để truy cập các thuộc tính, bạn có thể sử dụng các hàm sau -

  • getattr (obj, name [, default]) - để truy cập thuộc tính của đối tượng.
  • hasattr (obj, name) - để kiểm tra xem một thuộc tính có tồn tại hay không.
  • setattr (obj, name, value) - để thiết lập một thuộc tính. Nếu thuộc tính không tồn tại thì nó sẽ được tạo.
  • delattr (obj, name) - để xóa một thuộc tính.
hasattr(emp1, 'age') # Returns true if 'age' attribute exists
getattr(emp1, 'age') # Returns value of 'age' attribute
setattr(emp1, 'age', 8) # Set attribute 'age' at 8
delattr(empl, 'age') # Delete attribute 'age'