Python - 在 superclass 方法中创建 class 实例

Python - Creating class instance within superclass method

我正在尝试在 superclass

中创建一个 class

我在SuperTest.py有一个超级class:

class SuperTest():
    def func(self):
        return Test2()

和test.py

from SuperTest import *

class Test(SuperTest):
    def create(self):
        return self.func()

class Test2(SuperTest):
    pass

test = Test()
print test.create()

然后我有一个错误NameError: global name 'Test2' is not defined

可以吗?如何处理作用域?据我所知,我不能递归地相互导入 classes。

我将在 superclass 函数中获取一些 class 名称。在其中动态创建 class 对我来说很重要。

试试这个,

class SuperTest(object):
    def func(self):
        from Test import Test2 
        return Test2()