在python中自动创建类实例,用于未确定数量的实例

时间:2014-11-26 02:16:49

标签: python class python-2.7

我正在创建一个回合制游戏,玩家可以在轮到他的任何时候创建单位 Unit类的缩短版本是:

class Unit(object):
    def __init__(self, xpos, ypos, color = 'red'):
        self.xpos = xpos
        self.ypos = ypos
        self.color = color

我想知道是否有办法自动创建此类的实例,而没有 硬编码类似:

unit1 = Unit(1, 1)
unit2 = Unit(1, 2)
...
unitn = Unit(1, 2)

这样我就可以创建一个像create_unit(xpos,ypos,color ='red')这样的函数
我不必担心硬编码每个单元点可用

提前致谢!

P.S。我正在使用Python 2.7

1 个答案:

答案 0 :(得分:1)

每当你看到模式: unit1,unit2,...,unitN 时,你应该使用一个列表来存储它们。如果要创建新单元,只需将​​新单元附加到列表中即可。试试这个例子:

units = []

# Your Unit constructor handles the creation of a new unit:
# No need to create a special function for that.
units.append(Unit(1,1))
units.append(Unit(1,2))

# etc...

print(units)