【发布时间】:2014-07-13 22:31:17
【问题描述】:
我最近开始了计算机科学的年终项目(我自己提出的,也是我第一年学习它,所以只有大约 4 个月的 Python 经验),并决定在其中做一个简单的口袋妖怪模拟器。
我最近遇到了一个障碍:假设用户选择皮卡丘作为他们的首发。我不希望用户输入他们的健康、攻击、速度和动作。他们是创建一个已经包含该数据的皮卡丘类的方法吗?
我尝试过这样的事情:
class Pikachu(object):
def __init__(self):
self.data = []
def health(self):
self.health = 22
print self.health
def attack(self):
self.attack = 7
def speed(self):
self.speed = 6
Pikachu.health()
当我这样做时(试图检查健康状况是否已存储并将按需返回),它会给出错误:
TypeError: unbound method health() must be called with Pikachu instance as first argument (什么都没有)
我也对错误的含义感到困惑。通常这会起作用,并且您不需要括号中的参数,但在这种情况下它不需要。
是否有一些不同的方法来创建一个类并在其中存储数据?有没有办法创建一个对象或做这样的事情:
def Pikachu:
health = 22
attack = 7
speed = 6
【问题讨论】:
-
Pikachu().health()... -
这对我来说是一个愚蠢的错误!感谢您的快速答复!