Open anancds opened 4 years ago
. ├── proto │ ├── mat.py ├── utils │ └── mat_mul.py └── src └── main.py
# proto/mat.py
class Matrix(object): def init(self, data): self.data = data self.n = len(data) self.m = len(data[0])
# utils/mat_mul.py
from proto.mat import Matrix
def mat_mul(matrix_1: Matrix, matrix_2: Matrix): assert matrix_1.m == matrix_2.n n, m, s = matrix_1.n, matrix_1.m, matrix2.m result = [[0 for in range(n)] for _ in range(s)] for i in range(n): for j in range(s): for k in range(m): result[i][k] += matrix_1.data[i][j] * matrix_2.data[j][k]
return Matrix(result)
# src/main.py
from proto.mat import Matrix from utils.mat_mul import mat_mul
a = Matrix([[1, 2], [3, 4]]) b = Matrix([[5, 6], [7, 8]])
print(mat_mul(a, b).data)
########## 输出 ##########
[[19, 22], [43, 50]]
说到最简单的模块化方式,你可以把函数、类、常量拆分到不同的文件,把它们放在同一个文件夹,然后使用 from your_file import function_name, class_name 的方式调用。之后,这些函数和类就可以在文件内直接使用了