AttributeError: Type Object 'Ned' has no Attribute 'attack'?
AttributeError: Type Object 'Ned' has no Attribute 'attack'?
这是我的代码:
类:
class Player(object):
"""Base class for the player"""
def __init__(self, name, armour, attack):
self.name = name
self.armour = armour
self.attack = attack
class Ned(Player):
"""The main player"""
def __init__(self):
super(Ned, name="Ned", armour=10, attack=3).__init__()
引起问题的行:
entities.Ned.attack += 3
当我运行这个时,我得到:
AttributeError: type object 'Ned' has no attribute 'attack'
所以我不明白这里发生了什么。我使用 import entities
导入,然后使用 entities.Ned...
,所以我很确定这与文件加载无关。所有缩进都是正确的(这是本网站上两个 AttributeErrors 的回答)并且我确保所有内容都拼写正确。有人知道会发生什么吗?我发现的任何答案要么不起作用,要么太具体而无法解决我的问题。谢谢。
Player
class __init__
函数缩进不正确。您应该在该块中再添加 4 个空格/\t。
你的超级定义有误。这是一个合适的:
super(Ned, self).__init__(name="Ned", armour=10, attack=3)
您必须先创建一个 class 对象才能使用它,因此您应该将其命名为:
ned_object = entities.Ned()
ned_object.attack += 3
这是我的代码:
类:
class Player(object):
"""Base class for the player"""
def __init__(self, name, armour, attack):
self.name = name
self.armour = armour
self.attack = attack
class Ned(Player):
"""The main player"""
def __init__(self):
super(Ned, name="Ned", armour=10, attack=3).__init__()
引起问题的行:
entities.Ned.attack += 3
当我运行这个时,我得到:
AttributeError: type object 'Ned' has no attribute 'attack'
所以我不明白这里发生了什么。我使用 import entities
导入,然后使用 entities.Ned...
,所以我很确定这与文件加载无关。所有缩进都是正确的(这是本网站上两个 AttributeErrors 的回答)并且我确保所有内容都拼写正确。有人知道会发生什么吗?我发现的任何答案要么不起作用,要么太具体而无法解决我的问题。谢谢。
Player
class __init__
函数缩进不正确。您应该在该块中再添加 4 个空格/\t。
你的超级定义有误。这是一个合适的:
super(Ned, self).__init__(name="Ned", armour=10, attack=3)
您必须先创建一个 class 对象才能使用它,因此您应该将其命名为:
ned_object = entities.Ned()
ned_object.attack += 3