Python 使用类实现一个计算矩阵加法的程序
我们将使用 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)
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)
代码解析:
__init__
方法:初始化矩阵对象,接受一个二维列表data
作为输入,并计算矩阵的行数和列数。__add__
方法:实现矩阵加法。首先检查两个矩阵的维度是否相同,如果不同则抛出错误。然后通过列表推导式逐元素相加,生成结果矩阵。__str__
方法:将矩阵转换为字符串形式,方便打印输出。
输出结果:
10 10 10 10 10 10 10 10 10
点我分享笔记