Tôi hơi bối rối về cách đối số được chuyển giữa các lớp con và lớp con trong Python. Hãy xem xét cấu trúc lớp học sau:Phân lớp - Các đối số từ siêu lớp
class Superclass(object):
def __init__(self, arg1, arg2, arg3):
#Inilitize some variables
#Call some methods
class Subclass(Superclass):
def __init__(self):
super(Subclass, self).__init__()
#Call a subclass only method
Tôi gặp khó khăn khi hiểu cách đối số được chuyển giữa Superclass và lớp con. Có cần phải liệt kê lại tất cả các đối số Superclass trong bộ khởi tạo lớp con? Trường hợp mới, chỉ lớp con, đối số được chỉ định? Khi tôi cố gắng sử dụng đoạn mã trên để khởi tạo một lớp con, nó chỉ mong đợi 1 đối số, không phải là số nguyên gốc 4 (bao gồm cả tự) mà tôi liệt kê.
TypeError: __init__() takes exactly 1 argument (4 given)
Lưu ý rằng 'lấy chính xác 1 đối số' có thể gây nhầm lẫn, vì đối số đó là' tự' (được tự động chuyển). – katrielalex