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