Để tạo các instance của một lớp, bạn gọi lớp sử dụng tên lớp và truyền vào bất kỳ đối số nào mà phương thức __init__ của nó chấp nhận.
"Điều này sẽ tạo đối tượng đầu tiên của lớp Employee"
emp1 = Employee("Zara", 2000)
"Điều này sẽ tạo đối tượng thứ hai của lớp Employee"
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ử chấm với đối tượng. Biến lớp sẽ được truy cập bằng tên lớp như sau:
emp1.displayEmployee() emp2.displayEmployee() print "Total Employee %d" % Employee.empCount
Ví dụ
Bây giờ, kết 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
Kết quả
Khi mã trên được thực thi, nó cho 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 # Thêm thuộc tính 'age' emp1.age = 8 # Sửa đổi thuộc tính 'age' del emp1.age # Xóa thuộc tính 'age'
Thay vì sử dụng các câu lệnh bình thường để truy cập 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 thuộc tính có tồn tại hay không.
- setattr(obj, name, value) - để đặt một thuộc tính. Nếu thuộc tính không tồn tại, nó sẽ được tạo.
- delattr(obj, name) - để xóa một thuộc tính.
hasattr(emp1, 'age') # Trả về true nếu thuộc tính 'age' tồn tại getattr(emp1, 'age') # Trả về giá trị của thuộc tính 'age' setattr(emp1, 'age', 8) # Đặt thuộc tính 'age' = 8 delattr(empl, 'age') # Xóa thuộc tính 'age'