Initializing a class with numpy array 问题
Initializing a class with numpy array question
所以我定义了下面的函数要输入到class:
MatrixConverter(arr)
这完全符合我的要求,接受一个 numpy 数组作为参数,并生成一个更简单的矩阵作为 numpy 数组。
现在,我想定义一个由 numpy 数组初始化的 class,一旦我将矩阵输入 class,称为 SeveralConvertor,运行通过 MatrixConverter
输入矩阵,从而创建转换矩阵的内部表示。我对此的尝试如下:
class SeveralConvertor:
def __init_(self,matrix)
self.matrix=np.array(matrix)
def MatrixConverter(self)
让 q
成为一些随机数组,然后键入 q.MatrixConverter
会出现以下错误:
<bound method SeveralConverter.MatrixConverter of <__main__.SeveralConverter object at 0x7f8dab038c10>>
现在,正如我所说,函数 MatrixConverter(arr)
作为一个函数工作正常,但是当我将它输入 class 时,我将所有 arr
替换为 self
, 这可能与问题有关。
非常感谢帮助!
无需做任何花哨的事情,我们可以将(经过单元测试的)函数绑定到 class 方法,然后在 __init__
函数中调用它。
def matrixConverter(arr):
# Some complicated function you already wrote
raise NotImplementedError
class SeveralConverter:
def __init__(self, matrix):
self.matrix = self._MatrixConverter(matrix)
@staticmethod
def _MatrixConverter(arr):
""" Call the Matrix Converter Function """
return MatrixConverter(arr)
然后在您的代码中(将以上内容放入模块并导入 class)
matrix_converted = SeveralConverter(ugly_matrix)
print(matrix_converted.matrix) # Prints the converted matrix
所以我定义了下面的函数要输入到class:
MatrixConverter(arr)
这完全符合我的要求,接受一个 numpy 数组作为参数,并生成一个更简单的矩阵作为 numpy 数组。
现在,我想定义一个由 numpy 数组初始化的 class,一旦我将矩阵输入 class,称为 SeveralConvertor,运行通过 MatrixConverter
输入矩阵,从而创建转换矩阵的内部表示。我对此的尝试如下:
class SeveralConvertor:
def __init_(self,matrix)
self.matrix=np.array(matrix)
def MatrixConverter(self)
让 q
成为一些随机数组,然后键入 q.MatrixConverter
会出现以下错误:
<bound method SeveralConverter.MatrixConverter of <__main__.SeveralConverter object at 0x7f8dab038c10>>
现在,正如我所说,函数 MatrixConverter(arr)
作为一个函数工作正常,但是当我将它输入 class 时,我将所有 arr
替换为 self
, 这可能与问题有关。
非常感谢帮助!
无需做任何花哨的事情,我们可以将(经过单元测试的)函数绑定到 class 方法,然后在 __init__
函数中调用它。
def matrixConverter(arr):
# Some complicated function you already wrote
raise NotImplementedError
class SeveralConverter:
def __init__(self, matrix):
self.matrix = self._MatrixConverter(matrix)
@staticmethod
def _MatrixConverter(arr):
""" Call the Matrix Converter Function """
return MatrixConverter(arr)
然后在您的代码中(将以上内容放入模块并导入 class)
matrix_converted = SeveralConverter(ugly_matrix)
print(matrix_converted.matrix) # Prints the converted matrix