如何在该类方法中创建类实例?

时间:2010-01-06 18:40:51

标签: python class instance

我想在自己内部创建类实例。我试着通过这种方式:

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:未定义全局名称“矩阵”

当然矩阵不是全局类。我不知道如何解决这个问题。

1 个答案:

答案 0 :(得分:12)

m = self.__class__(sz-1, sz-1)

m = type(self)(sz-1, sz-1)