【发布时间】:2013-07-03 00:21:11
【问题描述】:
class Character:
def __init__(self):
self.name = ""
self.health = 1
self.health_max = 1
class Player(Character):
def __init__(self):
Character.__init__(self)
self.state = 'normal'
self.health = 10
self.health_max = 10
class Monster(Character):
def Dragon(self):
self.name = "Dragon"
self.health = 20
def Goblin(self):
name = "Goblin"
health = 5
p = Player()
p.name = raw_input("Please enter your name: ")
print p.name
print p.state
print p.health
print p.health_max
m = Monster()
enemy = m.Dragon
print enemy.name
print enemy.health
抱歉,为了解释我遇到的困难,我已经简化了一些。我在 OOP 的基础知识方面遇到了一点麻烦,而且我遇到了这个 sn-p 代码的问题。我试图在这里创建一个“龙”,但我遇到了以下错误:
Traceback(最近一次调用最后一次): 文件“test2.py”,第 32 行,在 打印敌人名称 AttributeError: 'function' 对象没有属性 'name'
你能告诉我我在这里做错了什么吗?谢谢。
【问题讨论】:
-
我没有看到
enemy在任何地方定义。问题中是否存在拼写错误,或者myenemy应该是enemy? -
很好,我已将其更改为敌人,但仍然出现相同的错误。
标签: python methods instance init