在我的 imp_main.py 中,我从 imp_sub.py 中的 Charakter 类中创建了两个 Charakters (char_01, char_03)。
在imp_main.py中,我创建了一个 "current "变量来帮助查找当前 "选中 "的角色对象(例如char_01或char_03).我将current设置为 "char_01 "来选中char_01作为当前角色。
我在Charakter类中有一个名为 "look "的方法,它可以在当前选中的对象(在我的例子中是 "char_01")中寻找 "test "属性。为了使用正确的对象,我使用了eval函数(eval(imp_main.current).test)。
imp_sub.py:
import Testing.imp_main as imp_main
class Charakter:
def __init__(self, test = False):
self.test = test
def look():
if not eval(imp_main.current).test:
print("Test False")
else:
print("Test True")
imp_main.py:
import Testing.imp_sub as imp_sub
current = "char_01"
char_01 = imp_sub.Charakter(True)
char_03 = imp_sub.Charakter(False)
imp_sub.Charakter.look()
我得到以下错误信息。AttributeError: 部分初始化的模块 'Testing.imp_sub' 没有属性 'Charakter' (很可能是由于循环导入)
写成一个文件就可以了。不把imp_main导入imp_sub也一样。但是如果没有这个导入,我就不能使用和编辑 "当前 "变量--这就是为什么我必须 "循环导入 "的原因,对吗?
我想我可能做了一个 基本 使用classimport的错误 - 但我就是想不通。