Python:重用对象

时间:2015-05-16 02:20:49

标签: python

我是Python的新手,在重用对象创建方法时遇到了麻烦,但仍然在图形模块中专门创建新对象。像这样:

no = 0
while 1 == 1:
     "win" + str(no) = GraphWin("...",10,10)
     no = no + 1

我知道这不起作用(而且毫无用处)但是如果不破坏它你会怎么做呢?这样我以后可以这样做:

c = 0
while c != int(n + 1):
     "win" + str(c).close()
     c = c + 1

那么每次定义新的胜利时你如何整合no变量以便以后可以区分?

安德鲁的回答有效^^感谢您的快速回复!

2 个答案:

答案 0 :(得分:0)

看起来你正在尝试创建一个窗口数组。你想要做的是将你创建的每个窗口附加到给定的数组,以便稍后关闭它们。

以下是一个例子:

windows = []
while Somecondition:
    windows.append(GraphWin("...",10,10))

以后:

for w in windows:
    w.close()

这就是说,我不完全确定你要做什么:)。你不是通过学习来侮辱我们;实际上恰恰相反。

答案 1 :(得分:0)

这看起来像是字典的完美匹配!每个人都可以拥有自己的独立价值,以及它的独立窗口:

limit

要访问每个人,只需索引:

dictionary = {
    "1": GraphWin(Whatever parameters)
}

它允许您区分和处理它们。要获取所有值,只需使用dictionary["1"].close() # Gets you the value (GraphWin stuff) and let's you do anything iterkeys()方法获取每个键或值。希望它有所帮助!