Python:如何在完成某些事情后调用类

时间:2016-01-19 13:16:27

标签: python class variables python-3.x

如何在某些条件为真时创建一个调用类的对象。例如。如果var为true,则新对象=该类。此外,每次物体都应该不同。

编辑:因为它含糊不清,我会尽力解释。在我的程序中,我有一个while循环,我想在我的程序中做一些改变变量的事情,当变量发生变化时,会创建一个新的对象,它在while循环中应用了许多类的函数。

1 个答案:

答案 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)