Я пытаюсь реализовать функцию вставки здесь. Ну, для этого класса Matrix, который является дочерним классом Grid, похоже, проблема. Но я не совсем понимаю, что я делаю неправильно здесь. Ошибка говорит: «Grid [m] [n] = значение TypeError: объект« type »не подлежит расшифровке».python __getitem__ проблема перегрузки
Пожалуйста, помогите
благодаря
from Grid import Grid
class Matrix(Grid):
def __init__(self, m, n, value=None):
## super(Matrix, self).__init__(m, n)
Grid.__init__(self, m, n)
def insert(self, m, n, value=None):
Grid[m][n] = value
здесь Сетка класс
from CArray import Array
class Grid(object):
"""Represents a two-dimensional array."""
def __init__(self, rows, columns, fillValue = None):
self._data = Array(rows)
for row in xrange(rows):
self._data[row] = Array(columns, fillValue)
def getHeight(self):
"""Returns the number of rows."""
return len(self._data)
def getWidth(self):
"Returns the number of columns."""
return len(self._data[0])
def __getitem__(self, index):
"""Supports two-dimensional indexing
with [row][column]."""
return self._data[index]
def __str__(self):
"""Returns a string representation of the grid."""
result = ""
for row in xrange(self.getHeight()):
for col in xrange(self.getWidth()):
result += str(self._data[row][col]) + " "
result += "\n"
return result
Почему вы прокомментировали вызов 'super' и заменили его прямым вызовом' Grid'? «Супер» был прав. И, пожалуйста, примите некоторые ответы на предыдущие вопросы. –
Я думаю, что супер-вызов и сетка .__ init__ - это то же самое. поэтому. Пожалуйста, поправьте меня, если я ошибаюсь. – user1047092