Я пытаюсь вызвать функцию из класса, имя которой будет меняться в зависимости от типа создаваемого врага. Как мне это сделать?
Моя попытка была такой: AssignClass.[self.Class](self)
но очевидно, что синтаксис не имеет смысла
class Creature:
def __init__(self, Name, Class):
self.Name = Name
self.Class = Class
# Using a variable function call to remove
# the need for a ton of 'if' statements
AssignClass.[self.Class](self)
# Basically automate doing this:
if self.Class = "Orc":
AssignClass.Orc(self)
elif self.Class = "Wizard"
AssignClass.Wizard(self)
class AssignClass:
def Orc(Creature):
Creature.Class='Orc'
Creature.Health=100
Creature.Mana=0
def Wizard(Creature):
Creature.Class='Wizard'
Creature.Health=75
Creature.Mana=200
Evil_Wizard = Creature("Evil Wizard", "Wizard")
Думаю, я достаточно долго откладывал изучение PEP 8. Я просто программирую для удовольствия, поэтому все, что я делаю, не имеет значения, ха-ха. Спасибо за ответ.