是我的代碼:Python的OOP初始化參數錯誤
class Board:
def __init__ (self, boardLength, boardHeight, pieces):
self.__boardLength = boardLength
self.__boardHeight = boardHeight
self.__pieces = pieces
self.__snapShots = []
self.__tiles = []
while len(self.__tiles) < (self.__boardHeight*self.__boardLength):
self.__tiles.append(0)
board1 = Board(5, 4,
[u,I_shape(1,'I'),X_shape(3,5,'U'),T_shape(4,5,'U'),L_shape(3,5,'U')]
)
,我得到這個:
TypeError: __init__() takes exactly 4 arguments (3 given)
據我所知,初始化坐4個arguements,但其中一人是自我,我把它另外三個。任何人都可以告訴我我做錯了什麼?
I_shape的'__init__'是什麼?這是一個給出三個參數的調用(隱含的「自我」加上你給出的兩個參數)。 – torek 2012-04-20 17:30:20
我不得不嘗試修復這個代碼格式,就像3次。它很難閱讀。 – jdi 2012-04-20 17:31:56
您可能會忽略的是圍繞TypeError的上下文的其餘部分。這應該告訴你發生崩潰的確切位置,並且@Lattyware在答案中表明瞭它最可能出現在I_shape類中而不是這個Board類。 – jdi 2012-04-20 17:33:04