【发布时间】:2016-12-21 07:43:56
【问题描述】:
假设我们有一堆怪物类,其中包括一个地精和一个小鬼:
class Goblin(object):
def __init__(self):
self.Name = "Goblin"
self.HP = random.randint(15,20)
self.Damage = random.randint(5,10)
class Imp(object):
def __init__(self):
self.Name = "Imp"
self.HP = random.randint(5,10)
self.Damage = random.randint(2,5)
我们有一个创建怪物的函数,其中“Type”将是要创建的怪物的类型:
def GenerateCharacter(Type, Number):
i=0
while i < (Number):
TempChar = #what do I put here so it knows to create Goblins if I do GenerateCharacter(Goblin, 10)
Character_List.append(TempChar)
i = i + 1
如果函数的 Type 参数是类的名称“Goblin”,我如何使放入 TempChar 的类成为 Goblin?因此,如果我执行 GenerateCharacter(X, 10),它会执行 TempChar = X() ??
如果我执行 GenerateCharacter(Goblin, 10),我希望它生成 10 个 Goblin 类的实例并附加到 Character_List,但如果我执行 GenerateCharacter(Imp, 10),我希望它执行 10 个小鬼。
【问题讨论】:
标签: python python-3.x oop object