Python - 在超类方法中创建类实例

时间:2017-05-19 08:45:09

标签: python scope inner-classes

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

我在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

有可能吗?如何处理范围?据我所知,我无法以递归方式相互导入类。

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

1 个答案:

答案 0 :(得分:1)

试试这个,

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