Bạn không thể xác định nhiều initializers trong Python (như được chỉ trong các ý kiến, __init__
is not really a constructor), nhưng bạn có thể xác định giá trị mặc định, ví dụ:
def __init__(self, size=8):
self.buffer = [1] * size
Trong đoạn mã trên, một bộ đệm kích thước 8 là được tạo theo mặc định, nhưng nếu tham số kích thước được chỉ định, thông số sẽ được sử dụng thay thế.
Ví dụ: giả sử rằng trình khởi tạo nằm trong một lớp có tên là Example
. Cuộc gọi này sẽ tạo ra một thể hiện mới của lớp với một bộ đệm kích thước 8 (mặc định):
e = Example()
Trong khi cuộc gọi này sẽ tạo ra một đối tượng mới với một bộ đệm kích thước 10:
e = Example(10)
Ngoài ra, bạn cũng có thể gọi hàm tạo như sau:
e = Example(size=10)
Nguồn
2011-12-04 16:38:53
Bạn không có hai hàm tạo, cột thứ hai sẽ ghi đè đầu tiên. – u0b34a0f6ae