我跟随一个Python教程系列来上课。 所以。。我正在尝试制造某种“医疗RPG职业系统”,并试图把武器带到一个战士职业。我真的很新,所以如果你们解释得尽可能简单,我会很感激的。你知道吗
所以,我得到一个错误:
AttributeError: 'Warrior' object has no attribute 'wep_name'
我做错什么了?你知道吗
代码如下:
class Character(object):
def __init__(self, name):
self.health = 100
self.name = name
self.equipment = {
"Weapon": 'None',
"Attack Damage": '0'
}
def printName(self):
print "Name: " + self.name
class Warrior(Character):
"""
**Warrior Class**
50% more HP
"""
def __init__(self, name):
super(Warrior, self).__init__(name)
self.health = self.health * 1.5
self.equipment["Weapon"] = self.wep_name # <-- ?
class Weapon(object):
def __init__(self, wep_name):
self.wep_name = wep_name
如果标题没有意义,我很抱歉。我不太清楚这叫什么:(
在包含错误的行中,
self
表示Warrior
,而不是Weapon
,因此它没有wep_name
。如果您想在此时创建一个新的Weapon
,它可能是这样的:因为你的战士职业中没有武器成员变量,所以你不能分配它。你知道吗
您必须像这样将它提供给init方法
就像你在武器课上一样。你知道吗
现在你可以做了
否则,请考虑引用已经封装了武器名称的武器类实例
希望这对你有帮助
相关问题 更多 >
编程相关推荐