这是我正在尝试做的简化版本:
class a():
Requirement = 0
def func(self, oldlist, x):
newlist = [None]*3
newlist = oldlist
newlist[x] = b()
print "Class a"
g(newlist)
class b():
Requirement = 1
def g(list):
for i in range(3):
if list[i].Requirement==0:
list[i].func(list,i)
Initiallist=[None]*3
Initiallist[0]=a()
Initiallist[1]=b()
Initiallist[2]=a()
g(Initiallist)
我没有试图用文字表达我的期望,而是制作了一些图表来表达我的想法应该发生的事情:
这意味着 a 类中的函数应该被调用 4 次。但是,它只被调用了 2 次,所以似乎正在发生这种情况:
我不明白为什么会发生这种情况或我应该如何解决它。