如何扩展类是Python

如何扩展类是Python,python,class,oop,import,extend,Python,Class,Oop,Import,Extend,我刚开始学习Python。我一直在编写一个数组类,并创建了许多方法来操作数组。这很有趣。为了阐述这一点,我创建了一个grid类来创建二维数组。但现在我被这条指令困住了: “开发一个矩阵类,该类使用内置的算术运算符(用于矩阵算术)。矩阵类应扩展网格类。” 我对如何计算网格之间的算术很有信心。但是,我不理解在matrix类中扩展grid类的部分。只是玩弄一下,我的matrix类中有以下代码: from grid import Grid class Matrix: def __init__(

我刚开始学习Python。我一直在编写一个数组类,并创建了许多方法来操作数组。这很有趣。为了阐述这一点,我创建了一个grid类来创建二维数组。但现在我被这条指令困住了:

“开发一个矩阵类,该类使用内置的算术运算符(用于矩阵算术)。矩阵类应扩展网格类。”

我对如何计算网格之间的算术很有信心。但是,我不理解在matrix类中扩展grid类的部分。只是玩弄一下,我的matrix类中有以下代码:

from grid import Grid

class Matrix:
    def __init__(self, rows, columns, fillValue):
        self.data = Grid(rows, columns, fillValue)
这是我的网格类:

"""
File: grid.py
"""

from arrays import Array

class Grid(object):
    """Represents a two-dimensional array."""

    def __init__(self, rows, columns, fillValue = None):
        self.data = Array(rows)
        for row in range(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 [][]."""
        return self.data[index]

    def __str__(self):
        """Returns a string representation of the grid."""
        result = ""
        for row in range(self.getHeight()):
            for col in range(self.getWidth()):
                result += str(self.data[row][col]) + " "
            result += "\n"
        return result

def main():
    g = Grid(10, 10, 1)
    print(g.getHeight())

if __name__ == "__main__":
    main()
我对如何在matrix类中正确扩展grid类感到困惑。我理解进口声明的重要性;然而,我对如何正确地编写构造函数感到有点困惑,以便

m1 = Matrix(3, 3, 2)
    print(m1)

将这些参数传递给网格类并正确创建网格。例如,print语句给出了这样的输出:
如果我理解正确,它应该打印出一个实际的数字网格,我不知道为什么它不是。任何想法都会帮我解决

短语“扩展网格类”通常表示“从网格派生”。那就是:'类矩阵(网格):'啊,谢谢。摆脱init方法并实现类矩阵(Grid):成功了。非常感谢。