如何在某些条件为真时创建一个调用类的对象。例如。如果var为true,则新对象=该类。此外,每次物体都应该不同。
编辑:因为它含糊不清,我会尽力解释。在我的程序中,我有一个while循环,我想在我的程序中做一些改变变量的事情,当变量发生变化时,会创建一个新的对象,它在while循环中应用了许多类的函数。答案 0 :(得分:0)
尝试使用列表,每次超过if语句时,将对象附加到列表
X.append (class (parameters))
这样,您可以轻松地通过索引获取对象
例如,我有一个使用乌龟制作圆圈的课程
class StateCircle(turtle.Turtle):
def __init__(self, color, x, y, name, i, aaa = True):
turtle.Turtle.__init__(self)
turtle.tracer(0,0)
self.shape('circle')
self.shapesize(2,2,2)
self.penup()
self.color(color)
self.width = WIDTH
self.speed(0)
ta = turtle.Turtle()
ta.ht()
ta.pu()
global xxx
global textcoordinates
global labelnames
ta.goto(x,y+36)
ta.write(name, font=("Arial", 8, "normal"), align="center")
self.x = x
self.y = y
self.goto(x, y)
turtle.update()
要制作4个圆圈,我在for循环中调用它,并将圆形对象附加到数组列表
self.state_circles.append(StateCircle('yellow', coordx, coordy, label, i))
For循环将是:
for i in range(4) #Or any range
self.state_circles.append(StateCircle('yellow', coordx[i], coordy[i], label, i))
#Coordx and Coordy are lists that hold the coordinates of 4 different places
现在,每当我需要引用第一个圆圈时,就像更改颜色一样,我可以使用
self.state_circles[0].color(colorname)