Так вот мой код:Python объектно-ориентированное программирование иницилизации Аргумент ошибка
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)
Я понимаю, что INIT взять 4 заданы параметры, но один из них сами и я дал другие три. Может ли кто-нибудь сказать мне, что я делаю неправильно?
Что такое '__init__' для I_shape? Это вызов, который дает три аргумента (неявный 'self' плюс два, которые вы даете). – torek
Я должен был исправить форматирование кода на этом, как 3 раза. Его так трудно читать. – jdi
То, что вам не хватает, это остальная часть контекста, связанная с TypeError. Это должно сказать вам, где именно происходит авария, и как @Lattyware предлагает в ответ, скорее всего, это класс I_shape, а не этот класс Board. – jdi