我正在尝试在超类中创建一个类
我在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()