属性没有自我(但它也不是类属性)

时间:2015-11-05 17:00:06

标签: python-2.7 class self instances

我是python的新手,我一直在努力理解课程。

据我所知,在创建类时,必须在变量之前插入self,以便在创建实例时将self替换为实例(这些实例成为实例属性)。 除了实例属性之外,还有类属性,它们在类的顶部定义,在任何方法之前。

但是,我遇到了这段代码:

class Hero:
    def __init__(self, name):
        self.name = name
        self.health = 100

    def eat(self, food):
        if food == 'apple':
            health += 20
        elif food == "chocolate":
            health -= 10

为什么食物之前没有食物?它不是一个实例属性,但在我看来它不是一个类attr。 我正在使用python 2.X

1 个答案:

答案 0 :(得分:0)

food不是指类对象的属性(可能是self.food),而是指给eat的参数。