thể trùng lặp:
Can Super deal with multiple inheritance?gọi init cho nhiều lớp cha với siêu?
Python thừa kế? Tôi có một cấu trúc lớp (bên dưới), và muốn lớp con gọi số __init__
của cả hai cha mẹ. Điều này có thể thực hiện theo cách 'siêu' hay chỉ là một ý tưởng khủng khiếp?
class Parent1(object):
def __init__(self):
self.var1 = 1
class Parent2(object):
def _init__(self):
self.var2 = 2
class Child(Parent1, Parent2):
def __init__(self):
## call __init__ of Parent1
## call __init__ of Parent2
## super(Child, self).__init__()
Tôi đọc nhiều câu hỏi và câu trả lời khác, bạn là người duy nhất chỉ ra cách 'super()' gọi là "hàm tiếp theo trong chuỗi MRO". Một tuyên bố đơn giản nhưng rất quan trọng thực sự. – MikeyE