如何扩展类是Python

问题描述

我是学习Python的新手。我一直在写一个数组类,并创建许多方法来操纵数组。这非常有趣。为了说明这一点,我创建了一个网格类来创建一个二维数组。但是现在我被这条指令所困扰:

“开发使用内置运算符进行算术运算的矩阵类(这是用于矩阵算术的。矩阵类应扩展网格类。”

我对如何弄清楚网格之间的算法很有信心。但是,我不理解在矩阵类中扩展网格类的部分。只是玩弄它,我在矩阵类中有以下代码:

from grid import Grid

class Matrix:
    def __init__(self,rows,columns,fillValue):
        self.data = Grid(rows,fillValue)

这是我的网格课:

"""
File: grid.py
"""

from arrays import Array

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

    def __init__(self,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()

我对如何在矩阵类中正确扩展网格类感到困惑。我了解导入声明的重要性;但是,我对如何正确地编写构造函数以使该语句感到困惑

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

会将这些参数传递给网格类并正确创建网格。例如,print语句给出以下输出:<__main__.Matrix object at 0x000001CD65A77970>如果我正确理解这一点,那应该已经打印出了一个实际的数字网格,而我对为什么不是这样感到困惑。任何想法肯定会帮助我!!!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...