【发布时间】:2013-08-27 05:07:16
【问题描述】:
我是 python 新手,正在尝试创建一个程序来测试一些对象创建方法。目前,我正在编写一个程序,该程序涉及创建对象,给它们一个唯一的数字变量,并将它们分配给一个列表以供将来参考。以下是我为创建变量名而编写的内容:
def getRectangleName():
rectName = list("Rectangle")
SPAWNEDOBJECTLIST.append(len(SPAWNEDOBJECTLIST))
rectName.append(str(len(SPAWNEDOBJECTLIST)))
return rectName
然后将其传递给某些东西以将该字符串转换为变量名。我尝试了 eval(),发现由于某种原因这很糟糕,但无论如何它都不起作用,并尝试了一些解决方法无济于事。
我认为有很多游戏的屏幕上的字符数不定。有没有一种既定的方法可以对这样的对象进行迭代?
对象本身有一个 X 和 Y,因此它们可以作为在屏幕上显示矩形的参考点(未来的想法是让每个对象自己移动,所以只需制作 X 和 Y 的列表画矩形没用)。
编辑:问题是我不知道如何为每个对象赋予自己的变量以将其放在列表中以供将来参考。
Edit2:我认为我实际上没有提出正确的问题,也没有使用正确的术语。我需要能够在程序已经运行后动态创建无限数量的对象,并且能够单独引用它们。
【问题讨论】:
-
您是否需要按名称寻址每个对象,例如,可以只使用一个对象列表来代替?
-
使用
dict将矩形名称映射到矩形对象有什么问题? -
另外,您可能希望将您的函数称为其他名称。如果我调用一个名为
getRectangleNumber的函数,我希望返回一个数字,而不是list。 -
您能举一个使用矩形对象的代码示例吗?您发布的代码需要更多上下文。
-
通过这个:learnpythonthehardway.org 遇到困难时提出问题。
标签: python list class oop object