我正在尝试在超类中创建一个类

我在SuperTest.py中有一个超类:

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

有可能这样做吗?如何处理范围?据我所知,我不能相互递归地导入类。

我将在超类函数中获得一些类名。对我来说,在其中动态创建类很重要。

最佳答案

尝试这个,

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

08-15 18:54