Để 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'