我想在自己内部创建类实例。我试着通过这种方式:
class matrix:
(...)
def det(self):
(...)
m = self(sz-1, sz-1)
(...)
(...)
但我收到了错误:
m = self(sz-1, sz-1)
AttributeError:矩阵实例没有
__call__
方法
所以,我试着这样做:
class matrix:
(...)
def det(self):
(...)
m = matrix(sz-1, sz-1)
(...)
(...)
我又收到了一个错误:
m = matrix(sz-1, sz-1)
NameError:未定义全局名称“矩阵”
当然矩阵不是全局类。我不知道如何解决这个问题。
答案 0 :(得分:12)
m = self.__class__(sz-1, sz-1)
或
m = type(self)(sz-1, sz-1)