从列表创建类的实例(Python 2.7)

时间:2016-04-14 17:28:30

标签: python-2.7 class

我正在尝试制作一款简单的RPG游戏。我有一个将在游戏中的人员列表,并希望为每个人创建一个角色。

people = ['Mike','Tom']
class Character(object):
    def __init__(self,name):
        self.name = name
        self.health = '100'

for x in people:
    [x] = Character(x) # This is where I don't know what to do / if it's possible

这样我可以轻松地调用角色

for x in people:
    print ("%s: %s health" % (people[x].name, people[x].health))

这样的事情是否可能,或者我是否会这样做?我读了How do I create a variable number of variables?,但似乎字典是他们问题的最终解决方案,而且我不知道在这种情况下它是如何工作的。

1 个答案:

答案 0 :(得分:1)

看起来您只想保留一个Character对象列表。一旦你有了people,你就不需要引用{。}}。

characters = [Character(person) for person in people]

然后,打印角色统计:

for c in characters:
    print ("%s: %s health" % (c.name, c.health))