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()
我正在尝试在 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()