我正在尝试在超类中创建一个类
我在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
。
有可能吗?如何处理范围?据我所知,我无法以递归方式相互导入类。
我将在超类函数中获取一些类名。对我来说,动态创建类很重要。
答案 0 :(得分:1)
试试这个,
class SuperTest(object):
def func(self):
from Test import Test2
return Test2()