Python 使用类实现一个计算矩阵加法的程序

Document 对象参考手册 Python3 实例

我们将使用 Python 的类来实现一个简单的矩阵加法程序。矩阵加法要求两个矩阵具有相同的维度,我们将创建一个 Matrix 类,并在其中实现矩阵加法的方法。

实例

class Matrix:
    def __init__(self, data):
        self.data = data
        self.rows = len(data)
        self.cols = len(data[0]) if self.rows > 0 else 0

    def __add__(self, other):
        if self.rows != other.rows or self.cols != other.cols:
            raise ValueError("Matrices must have the same dimensions for addition.")

        result = [
            [self.data[i][j] + other.data[i][j] for j in range(self.cols)]
            for i in range(self.rows)
        ]
        return Matrix(result)

    def __str__(self):
        return 'n'.join([' '.join(map(str, row)) for row in self.data])

# 示例使用
matrix1 = Matrix([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
matrix2 = Matrix([[9, 8, 7], [6, 5, 4], [3, 2, 1]])

result_matrix = matrix1 + matrix2
print(result_matrix)

代码解析:

  1. __init__ 方法:初始化矩阵对象,接受一个二维列表 data 作为输入,并计算矩阵的行数和列数。
  2. __add__ 方法:实现矩阵加法。首先检查两个矩阵的维度是否相同,如果不同则抛出错误。然后通过列表推导式逐元素相加,生成结果矩阵。
  3. __str__ 方法:将矩阵转换为字符串形式,方便打印输出。

输出结果:

10 10 10
10 10 10
10 10 10

Document 对象参考手册 Python3 实例